Jump to content

CodeLab v6.3 (for advanced users) Released September 27, 2021


Recommended Posts

13 minutes ago, toe_head2001 said:

Most people don't use tabs with any C style language.

 

A shame, really.

 

13 minutes ago, toe_head2001 said:

That's completely subjective. The same exact things can be said about tabs. I'm not even joking.

 

The standout issue with tabs is variable tab width among different environments.  For you a tab width might appears as 40px, but for other people it might be 80px.

This is very evident in web browsers. For some reason, a tab is about double the normal (if there is such a thing) width in a web browser.

A space is always the same width.

 

Yes, I know it's completely subjective. That's why I think it's silly to enforce this... (I'm not talking about you - I blame Microsoft!)

Personally, I think it's a great thing that tabs have variable width! To me, indents are logical separators, not visual ones. One indent equals one tab, and its visual width is just your personal preference.

 

Anyway...

 

52 minutes ago, toe_head2001 said:

it would be very easy to add an option to CodeLab for tabs.  However, all the templates within CodeLab are hard-coded with spaces. So basically, you would easily end up with a document mixed with tabs and spaces.

 

Well, it's not really a big deal, replacing manually is quite easy. Or actually, it would just be easier to simply to do a replace in the templates before adding them to the documents if the user has some "use tabs" option enabled.

Link to comment
Share on other sites

  • 3 months later...
2 hours ago, Reptillian said:

... a find/replace function similar to the one implemented in KDE Kate.


So you want a pane to list the lines that contain matches?

 

EDIT: oh, I see, you want to toggle if a match gets replaced. Is that right?

Edited by toe_head2001
Link to comment
Share on other sites

So, it really only for renaming identifiers.

 

Here I have renamed the Local Variable selection to mySelRect. When I hover my mouse cursor over the word, the Light-bulb menu appears.

As I said before, it does matching with a stricter criteria. (as opposed to basic text compare)

 

3htiTzY.png

 

 

  • Upvote 1
  • You're a Smart Cookie! 1
Link to comment
Share on other sites

  • 2 weeks later...
4 hours ago, Heptor said:

Need some help here. Whenever I put this into CodeLab, the entire program just shuts down. What am I doing wrong? 

 

Please check for a crash log and post it here.  Go to the settings - top right of paint.net canvas ⚙ and see if there is a crash log.  If not, post the Diagnostics.

30b8T8B.gif

How I made Jennifer & Halle in Paint.net

My Gallery | My Deviant Art

"Rescuing one animal may not change the world, but for that animal their world is changed forever!" anon.

 
Link to comment
Share on other sites

Failure paint.net in this case, does not create a crash log. @Heptor just inserted the script from github into the default script. Most likely, none of the overloads of the 'Render' method accepts the specified number of arguments. I think @BoltBait or @toe_head2001 will give a more qualified explanation.

  • You're a Smart Cookie! 1
Link to comment
Share on other sites

Looks like CLR doesn't like the recursive method, and it (the CLR) just crashes. Perhaps the C# compiler is generating bad IL.  I have no idea at this point.

 

If you run the code as a stand-alone program (or even in something like LINQPad), it will no doubt have a similar failure.

Link to comment
Share on other sites

  • 1 month later...

CodeLab 6.1 Released

This is only for Paint.NET 4.2.16+!

 

Long awaited update today...

 

Changes:
 Use Roslyn syntax in generated code (BoltBait)

 Fix the disablement of the Transparency menu (toe_head2001)

 Disable intelligent assistance when document is readonly (toe_head2001)

 Fix issue with square brackets in controls' Display Name (toe_head2001)

 Add SubmenuNames.Color which is new in PdN 4.2.16 (BoltBait)

 Copy Text and RTF formats onto the clipboard (Handy when pasting syntax highlighted code into Word) (toe_head2001 and BoltBait)

 Fix compilation with PDN v4.2.16 (toe_head2001)

 Fix Clouds rendering for Paint.NET v4.2.16 (BoltBait)

 Fix URLs for Errors and Warnings (toe_head2001)

 Minor code refactoring and bug fixes (toe_head2001 and BoltBait)

 

 

Grab the CodeLab DLL here:

 

https://www.boltbait.com/pdn/CodeLab/

 

  • Like 5
  • Upvote 2

Click to play:
j.pngs.pngd.pnga.pngp.png
Download: BoltBait's Plugin Pack | CodeLab | and how about a Computer Dominos Game

Link to comment
Share on other sites

  • BoltBait changed the title to CodeLab v6.1 (for advanced users) Released June 25, 2021
  • 2 months later...

Hopefully this is an easy question. In Codelab I see the IntSliderControl on the opening screen. When exported to VS it exports as a Class C# cs file.

My project is Form based. I am trying to add that IntSliderControl to my form, but it does not exist in the toolbox. This tells me a little bit of programming is required to build it programmatically like in codelab. This of course is way over my head. I hope I have explained it correctly.

 

IntSliderControl.png.af424dbead6404f828229885dba8aa53.png

Can you help with the code required or steer me to the right place to know how to build it. I have searched for 3 days to answer this riddle.

 

 

Signature2018.png

 

Link to comment
Share on other sites

@AndrewDavidIMHO this question is far beyond Codelab. Codelab creates PropertyBesedEffects. This is the most simple way to create an effect plugin.

You can not just create a dialog, add some controls and tell paint.net to use it. You have to derive a new dialog from the paint.net one.

You have to create an EffectToken which is used to transport settings from the dialog to the render function and to setup the controls in the dialog.

You can do this but if you are not experienced with the basic concepts of effect plugins then it will take some time.

You should first check the source code of an existing plugin to understand the flow of data, the  start making small modification by adding a new control.

It's just not the best time during the switch to .net 5.

  • Thanks 1
  • Upvote 2

midoras signature.gif

Link to comment
Share on other sites

@AndrewDavid, you're jumping into the deep end of the pool before learning how to swim.

 

At your level of understanding of C# and the inner workings of Paint.NET, I would recommend sticking with CodeLab.  Let it do the heavy lifting for you.

 

Work your way through all the tutorials, etc.

 

CodeLab with the Paint.NET IndirectUI system masks a lot of the complexity of writing plugins.  Honestly, I know how to write plugins with custom UI (like BBChart, etc.) and I hate to do it. That's why I myself use CodeLab for all my plugins. 

  • Like 1
  • Thanks 1
  • Upvote 1

Click to play:
j.pngs.pngd.pnga.pngp.png
Download: BoltBait's Plugin Pack | CodeLab | and how about a Computer Dominos Game

Link to comment
Share on other sites

CodeLab v6.3 Released

This is only for Paint.NET 4.3.1+!

 

Quick update today...

 

Changes in v6.2:
 Update to .NET 5.0 (toe_head2001)
 Scripts can use C# 9.0 compiler syntax (toe_head2001)
 Use an AssemblyLoadContext when loading built scripts (Rick Brewster)
 Switch to ILRepack for building CodeLab (toe_head2001)

 Minor code refactoring and bug fixes (toe_head2001)

 

Changes in v6.3:
 Improve look of some icons (toe_head2001)
 Fix File>New>Filetype generated code (BoltBait)
 Fix File>New>Effect Advanced Pointer code (BoltBait)
 Improve IEnumerable<T> name suggestions (toe_head2001)

 Minor code refactoring and bug fixes (toe_head2001 and BoltBait)

 

 

Grab the CodeLab DLL here:

 

https://www.boltbait.com/pdn/CodeLab/

 

Click to play:
j.pngs.pngd.pnga.pngp.png
Download: BoltBait's Plugin Pack | CodeLab | and how about a Computer Dominos Game

Link to comment
Share on other sites

  • BoltBait changed the title to CodeLab v6.3 (for advanced users) Released September 27, 2021

@BoltBait I have a request.

 

         One of your effects that I constantly use requires some modification to suit my needs. This is a personal request. Using Codelab, can I rebuild one of your effects found in SelectionTools.dll?  The one I want is OutlineSelection.  I could extract the code that I need to rebuild it in VS using Codelab as a staging platform for Net 5.0. Can I have your permission? Another way of learning - hacking I guess you might call it. Then could you assist if I run into any problems? I've noticed C# 9 has simplified the code and VS is pretty good at solving the errors.

Signature2018.png

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...