midora Posted April 17, 2021 Posted April 17, 2021 paint.net SetPropertyControlValue.pdfSetPropertyControlValue(object propertyName, object controlPropertyName, object propertyValue) allows to change some values of PropertyBasedControls which can not be set in the constructor. This method should be called in OnCreateConfigUI(). I compiled a table to summarize the effect of SetPropertyControlValue() to all the PropertyBase controls. T The forum sw does not support rotated text so the column headers are a little bit difficult to read. 😉 Please tell if there are errors or if you miss something in the table. Link to the latest version of the table as pdf: paint.net SetPropertyControlValue.pdf SetPropertyControlValue Property Type, ProperyControlType Boolean, CheckBox, Default Double, Slider, Default Double, AngleChooser (11) DoubleVector, Slider DoubleVector, PanAndSlider, Default DoubleVector3, Slider, Default DoubleVector3, RollBallAndSliders Int32, Slider, Default Int32, ColorWheel Int32, IncrementButton StaticListChoice, DropDown, Default StaticListChoice, RadioButton String, TextBox, Default String, FileChooser Uri, LinkLabel, Default ControlInfoPropertyNames Value Type Id DisplayName String 0 YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES Description String 1 no (1) YES YES YES YES YES YES YES YES YES YES YES YES YES no (2) ControlType PropertyControlType (3) 2 ButtonText String 3 no no no no no no no no no YES no no no no no UseExponentialScale bool 4 no YES no YES no no no no no no no no no no no DecimalPlaces Int32 5 no YES no YES no no no no no no no no no no no SliderSmallChange double 6 no YES no no no no no YES no no no no no no no SliderSmallChangeX double 7 no no no YES YES YES YES no no no no no no no no SliderSmallChangeY double 8 no no no YES YES YES YES no no no no no no no no SliderLargeChange double 9 no YES no no no no no YES no no no no no no no SliderLargeChangeX double 10 no no no YES YES YES YES no no no no no no no no SliderLargeChangeY double 11 no no no YES YES YES YES no no no no no no no no UpDownIncrement double 12 no YES YES no no no no YES no no no no no no no UpDownIncrementX double 13 no no no YES YES YES YES no no no no no no no no UpDownIncrementY double 14 no no no YES YES YES YES no no no no no no no no StaticImageUnderlay ImageResource 15 no no no no YES no no no no no no no no no no Multiline bool (4) 16 no no no no no no no no no no no no YES no no ShowResetButton bool 17 no YES YES YES YES YES YES YES YES no no no no no no SliderShowTickMarks bool 18 no no (5) no no no no no YES no no no no no no no SliderShowTickMarksX bool 19 no no no YES YES YES YES no no no no no no no no SliderShowTickMarksY bool 20 no no no YES YES YES YES no no no no no no no no WindowTitle String (6) 21 WindowWidthScale Double (6) 22 WindowIsSizable Bool (6) 23 SliderSmallChangeZ double 24 no no no no no YES YES no no no no no no no no SliderLargeChangeZ double 25 no no no no no YES YES no no no no no no no no UpDownIncrementZ double 26 no no no no no YES YES no no no no no no no no SliderShowTickMarksZ bool 27 no no no no no YES YES no no no no no no no no Footnote String 28 YES (7) no no no no no no no no no no no no no no RangeWraps bool 29 no YES No (8) no no no no YES no no no no no no no ControlStyle SliderControlStyle 30 no YES no no no no no YES no no no no no no no ControlColors ColorBgra[] 31 no YES no no no no no YES no no no no no no no WindowHelpContentType WindowHelpContentType (6) 32 WindowHelpContent String (6) 33 AllowAllFiles Bool (9) 34 no no no no no no no no no no no no no YES no FileTypes String[] (10) 35 no no no no no no no no no no no no no YES no Notes (1) Footnote must be used for Description. Description sets the CheckBox text. (2) Footnote must be used for Description but is not implemented. Description sets the link text (not the link). (3) Not sure if the type is correct. But using SetPropertyControlValue with this type has no effect (4) False: 1 line, True: 4 lines (5) Not implemented. I’m not sure why this is missing. (6) Not available for controls (7) Sets Description for the cases where Description is used to set an other text. (8) Always wraps around (9) If no FileTypes are provided the ‚All Files (*.*)‘ will still appear in the ‘Select File‘ dialog (10) Provide an array of file extensions. I.e. new string[]{"exe“, "txt“} (11) AngleChooser has no slider. I would prefer one plus a new ControlInfoPropertyNames.SliderShow setting. I collected this during my refactoring of OptionBasedLibrary to make sure that OptionBasedControls support the functionality of PropertyBasedControls. Hope this info is also useful for you. OK, the table looks different while you are editing the topic... 18.4.2021: I copied @Ego Eram Reputotable, fixed the error mentioned by @toe_head2001, and fixed the Value Type of all SliderSmallChange, SliderLargeChange, and UpDownIncrement variants to double (a simple int raises an exception). Copy of the table removed again the formatting of the table, but the other fixes are in. 3 1 Quote
Ego Eram Reputo Posted April 18, 2021 Posted April 18, 2021 Excellent table @midora. Thank you! Let's see if we can fiddle with the table styling... <snipped> It's not brilliant . As you noticed, the editing window is different from the forum view. Quote ebook: Mastering Paint.NET | resources: Plugin Index | Stereogram Tut | proud supporter of Codelab plugins: EER's Plugin Pack | Planetoid | StickMan | WhichSymbol+ | Dr Scott's Markup Renderer | CSV Filetype | dwarf horde plugins: Plugin Browser | ShapeMaker
Ego Eram Reputo Posted April 18, 2021 Posted April 18, 2021 Second attempt.... SetPropertyControlValue Property Type, ProperyControlType Boolean, CheckBox, Default Double, Slider, Default Double, AngleChooser (11) DoubleVector, Slider DoubleVector, PanAndSlider, Default DoubleVector3, Slider, Default DoubleVector3, RollBallAndSliders Int32, Slider, Default Int32, ColorWheel Int32, IncrementButton StaticListChoice, DropDown, Default StaticListChoice, RadioButton String, TextBox, Default String, FileChooser Uri, LinkLabel, Default ControlInfoPropertyNames Value Type Id DisplayName String 0 YES YES YES YES YES YES YES YES YES YES YES YES YES YES YES Description String 1 no (1) YES YES YES YES YES YES YES YES YES YES YES YES YES no (2) ControlType PropertyControlType (3) 2 ButtonText String 3 no no no no no no no no no YES no no no no no UseExponentialScale bool 4 no YES no YES no no no no no no no no no no no DecimalPlaces Int32 5 no YES no YES no no no no no no no no no no no SliderSmallChange Int32 6 no YES no no no no no YES no no no no no no no SliderSmallChangeX Int32 7 no no no YES YES YES YES no no no no no no no no SliderSmallChangeY Int32 8 no no no YES YES YES YES no no no no no no no no SliderLargeChange Int32 9 no YES no no no no no YES no no no no no no no SliderLargeChangeX Int32 10 no no no YES YES YES YES no no no no no no no no SliderLargeChangeY Int32 11 no no no YES YES YES YES no no no no no no no no UpDownIncrement Int32 12 no YES no no no no no YES no no no no no no no UpDownIncrementX Int32 13 no no no YES YES YES YES no no no no no no no no UpDownIncrementY Int32 14 no no no YES YES YES YES no no no no no no no no StaticImageUnderlay ImageResource 15 no no no no YES no no no no no no no no no no Multiline bool (4) 16 no no no no no no no no no no no no YES no no ShowResetButton bool 17 no YES YES YES YES YES YES YES YES no no no no no no SliderShowTickMarks bool 18 no no (5) no no no no no YES no no no no no no no SliderShowTickMarksX bool 19 no no no YES YES YES YES no no no no no no no no SliderShowTickMarksY bool 20 no no no YES YES YES YES no no no no no no no no WindowTitle String (6) 21 WindowWidthScale Double (6) 22 WindowIsSizable Bool (6) 23 SliderSmallChangeZ Int32 24 no no no no no YES YES no no no no no no no no SliderLargeChangeZ Int32 25 no no no no no YES YES no no no no no no no no UpDownIncrementZ Int32 26 no no no no no YES YES no no no no no no no no SliderShowTickMarksZ bool 27 no no no no no YES YES no no no no no no no no Footnote String 28 YES (7) no no no no no no no no no no no no no no RangeWraps bool 29 no YES No (8) no no no no YES no no no no no no no ControlStyle SliderControlStyle 30 no YES no no no no no YES no no no no no no no ControlColors ColorBgra[] 31 no YES no no no no no YES no no no no no no no WindowHelpContentType WindowHelpContentType (6) 32 WindowHelpContent String (6) 33 AllowAllFiles Bool (9) 34 no no no no no no no no no no no no no YES no FileTypes String[] (10) 35 no no no no no no no no no no no no no YES no ...that'll do pig. That'll do. 1 Quote ebook: Mastering Paint.NET | resources: Plugin Index | Stereogram Tut | proud supporter of Codelab plugins: EER's Plugin Pack | Planetoid | StickMan | WhichSymbol+ | Dr Scott's Markup Renderer | CSV Filetype | dwarf horde plugins: Plugin Browser | ShapeMaker
toe_head2001 Posted April 18, 2021 Posted April 18, 2021 You actually can use UpDownIncrement with the AngleChooser. It applies to the numBox on the control. 1 Quote My Gallery | My Plugin Pack Layman's Guide to CodeLab
midora Posted April 18, 2021 Author Posted April 18, 2021 6 hours ago, toe_head2001 said: You actually can use UpDownIncrement with the AngleChooser. It applies to the numBox on the control. You are right. Also the value type of all SliderSmallChange, SliderLargeChange, and UpDownIncrement variants must be double to avoid a cast exception. @Ego Eram ReputoThanks for adapting the table view, looks much better now. I don't know how to do it in the editor. But as always the text is rotated in the wrong direction (like on your English book spines) 😉 Quote
Ego Eram Reputo Posted April 19, 2021 Posted April 19, 2021 No problem. I did the styling by editing the HTML & CSS. Its a Mod thing Changing the writing direction in the vertical aligned cells is more trouble than it is worth. You'll have to get used to it Do you want me to port the styling into your origial post? Quote ebook: Mastering Paint.NET | resources: Plugin Index | Stereogram Tut | proud supporter of Codelab plugins: EER's Plugin Pack | Planetoid | StickMan | WhichSymbol+ | Dr Scott's Markup Renderer | CSV Filetype | dwarf horde plugins: Plugin Browser | ShapeMaker
midora Posted April 19, 2021 Author Posted April 19, 2021 @Ego Eram Reputo"that'll do pig. That'll do." 😉 If there is some spare time... I exported the latest version of the table from LibreOffice to pdf and added it to the first post. But how can we avoid that everytime I'm editing the first post the formatting of the table will be destroyed? Next time I will add a second post just containig tables. I detected the dark mode theme at the bottom of the forum page. The table looks more ugly. Some texts are not showing in white but I'm not able to detect a rule why this is the case... Quote
Rick Brewster Posted April 19, 2021 Posted April 19, 2021 For something like this that needs to be revised, a markdown file (*.md) on GitHub is probably a better choice. For editing markdown, I've been using an app called Typora and it seems to be quite good. Quote The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html
midora Posted April 19, 2021 Author Posted April 19, 2021 Thanks for the tip. I will check this out. In the moment I think it is better to replace the table with an image to avoid the issues. The pdf can be used for copy/paste. Quote
Ego Eram Reputo Posted April 19, 2021 Posted April 19, 2021 Another option is to publish it as a Google Sheet. Quote ebook: Mastering Paint.NET | resources: Plugin Index | Stereogram Tut | proud supporter of Codelab plugins: EER's Plugin Pack | Planetoid | StickMan | WhichSymbol+ | Dr Scott's Markup Renderer | CSV Filetype | dwarf horde plugins: Plugin Browser | ShapeMaker
midora Posted April 20, 2021 Author Posted April 20, 2021 20 hours ago, Ego Eram Reputo said: Another option is to publish it as a Google Sheet. I still prefer local solutions. No problem to share and publish. But Google closed so many tools over the years... Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.