Author Topic: wxSmith improvement  (Read 31801 times)

Offline Cryogen

  • Regular
  • ***
  • Posts: 260
Re: wxSmith improvement
« Reply #15 on: May 18, 2010, 08:24:44 am »

 Another thought. It would be great if we could build a list of all the patches/fixes/add-ons that are floating around for wxSmith. I'd be happy to tack a page onto my site with a list to help us keep track, if you like.

Cheers.

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9496
Re: wxSmith improvement
« Reply #16 on: May 18, 2010, 09:01:18 am »
I'd be happy to tack a page onto my site with a list to help us keep track, if you like.
I should have most of them captured in my local copy. I cannot provide a patch, but probably the integrated source code modules (plugins) for the C::B environment. I am just very limited in time these days.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: http://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: http://wiki.codeblocks.org/index.php?title=FAQ

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9496
Re: wxSmith improvement
« Reply #17 on: May 19, 2010, 08:28:56 pm »
I've set up a site for my work at http://wxsmithaddons.sourceforge.net/. I'd be happy to work in with you guys so we all work towards the same ends.
I've attached a patch for you that will enable compilation with wx2.9.x and wxPropGrid >1.2.x. The interface has changed and compilation is broken otherwise. Feel free to use it.

[attachment deleted by admin]
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: http://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: http://wiki.codeblocks.org/index.php?title=FAQ

Offline Cryogen

  • Regular
  • ***
  • Posts: 260
Re: wxSmith improvement
« Reply #18 on: May 20, 2010, 05:57:10 am »
I've set up a site for my work at http://wxsmithaddons.sourceforge.net/. I'd be happy to work in with you guys so we all work towards the same ends.
I've attached a patch for you that will enable compilation with wx2.9.x and wxPropGrid >1.2.x. The interface has changed and compilation is broken otherwise. Feel free to use it.

Very nice, thanks. Will this still allow compilation with 2.8? I presume not. I'm not using 2.9, yet. I've been waiting for a release version.
The updated Property Grid is nice, too. That's one I missed on my list of things to do below. I would love to use the help panel to provide function descriptions as per VS, as that's something that's sorely lacking.

Cheers.

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9496
Re: wxSmith improvement
« Reply #19 on: May 20, 2010, 06:48:38 am »
Very nice, thanks. Will this still allow compilation with 2.8?
Sure. I am using 2.8 myself and it'll just work fine. Have a look at the #ifdefs. The code is unmodified if you compile with wx2.8.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: http://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: http://wiki.codeblocks.org/index.php?title=FAQ

Offline Cryogen

  • Regular
  • ***
  • Posts: 260
Re: wxSmith improvement
« Reply #20 on: May 21, 2010, 04:20:45 am »
 Hi Guys,

The wxAnimationCtrl/wxMediaCtrl patch is up:

http://forums.codeblocks.org/index.php/topic,12584.new.html

Cryo.

Offline Cryogen

  • Regular
  • ***
  • Posts: 260
Re: wxSmith improvement
« Reply #21 on: June 08, 2010, 06:42:12 pm »
 Hi Guys,

Just a quick update to keep things together.

Here are some other things I'd like to see done:

-Update Codef()'s "%n" option to use wxT() rather than _T(), as that's what wxWidgets has standardised on.
-Likewise change instances of _T() in the code to wxT() or _(), as translation isn't done for some reason.
-Add an option to pass a float or double through Codef() as you can't get one through easily, currently.

I'm getting into the guts of this thing, now. It's pretty complicated, I must say. I now see that translation is available in much of the code. Some does need to be fixed, though.
Some other thoughts that have occurred:

-There are a lot of typos in the documentation that could be cleaned up.
-The doxygen file comments are missing, which prevents some things from working.
-Doxygen sees wxPropertyGrid's docs as the main doc when you try to compile wxSmith's docs. We just need to adjust things a bit to fix this.
-The author used his preferred code style, which is fine, but it might be good to change what is output by wxSmith (not the internal code as that would be mega-work) so that it produces a standard ID format and variable names like m_Var, m_pVar, etc. I believe that would bring it more into line with C::B and wx but we'd need to discuss it.
-It would be nice to prevent controls displaying on the palette if they're not compiled into the wx lib in use.
-Others that I can't remember on the spur of the moment.

These are done and tested on Win7 and Ubuntu Karmic:
http://forums.codeblocks.org/index.php/topic,12622.0.html
http://forums.codeblocks.org/index.php/topic,12677.0.html

There is definitely room for improvement and I'm aware of at least one limitation that I need to correct soon.

This where I'm at currently...
I've added most of the remaining controls from wx2.8.
I'm currently struggling with a couple of things such as image lists for things like wxSimpleHtmlListBox and how to manage cell allocation for wxGridBagSizer.
Once I've sorted these I'll release another patch.
I've started adding doxygen file comments to the files I change and cleaning up the control palette tabs as I go. (Reorganising the tabs is trivial so it's easy to change it if we decide on another arrangement later.)
I've been updating the list at http://wiki.codeblocks.org/index.php?title=Comparison_of_wxSmith_features progressively.

I would then like to add the remaining managed windows. I've already made a start on this.
Next, I propose to do a clean up of the typos and such and release a separate patch, independent of my other changes, for that.
Finally, I'd like to look at wx2.9 and start on the controls that that introduces.

That should do for a while. ;-)

Cryo.
« Last Edit: June 08, 2010, 07:01:57 pm by Cryogen »

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9496
Re: wxSmith improvement
« Reply #22 on: June 10, 2010, 07:16:07 am »
-Doxygen sees wxPropertyGrid's docs as the main doc when you try to compile wxSmith's docs.
This will change in the near future. wxPropGrid will be updated and be part of the core (as a DLL).
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: http://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: http://wiki.codeblocks.org/index.php?title=FAQ

Offline Cryogen

  • Regular
  • ***
  • Posts: 260
Re: wxSmith improvement
« Reply #23 on: June 10, 2010, 06:32:48 pm »
-Doxygen sees wxPropertyGrid's docs as the main doc when you try to compile wxSmith's docs.
This will change in the near future. wxPropGrid will be updated and be part of the core (as a DLL).


That's good, thanks. That reminds me to update the list below... ;-)

Offline Cryogen

  • Regular
  • ***
  • Posts: 260
Re: wxSmith improvement
« Reply #24 on: June 10, 2010, 06:44:56 pm »
-Update Codef()'s "%n" option to use wxT() rather than _T(), as that's what wxWidgets has standardised on.
-Likewise change instances of _T() in the code to wxT() or _(), as translation isn't done for some reason. [This is largely wrong but we should check translations anyway]
-Add an option to pass a float or double through Codef() as you can't get one through easily, currently. [Partially done]

-There are a lot of typos in the documentation that could be cleaned up.
-The doxygen file comments are missing, which prevents some things from working.
-Doxygen sees wxPropertyGrid's docs as the main doc when you try to compile wxSmith's docs. We just need to adjust things a bit to fix this. [Fixed in C::B SVN 6354 with PropGrid 1.4]
-The author used his preferred code style, which is fine, but it might be good to change what is output by wxSmith (not the internal code as that would be mega-work) so that it produces a standard ID format and variable names like m_Var, m_pVar, etc. I believe that would bring it more into line with C::B and wx but we'd need to discuss it.
-It would be nice to prevent controls displaying on the palette if they're not compiled into the wx lib in use.
-Others that I can't remember on the spur of the moment.
-Update wxPropGrid to the latest. [Fixed in C::B SVN 6354 with PropGrid 1.4]
-Fix the awful screen flashing that occurs every time the editor display updates.

I've now got past my initial problem with image lists but the current solution only uses images from files, i.e. wxImageFileProperty, as there's no way to get wxSmith's image editor into the grid when you are dynamically adding and removing fields. We need to extend the image editor component to allow it to dynamically add and remove editors. So...

-Extend the image editor to allow dynamic addition and removal of image fields. [Fixed in my patch 18]
-The same for the colour editor.

I'm also working on a demo app. that I use as a testbed and which will provide examples of how to use the controls I add, based somewhat on the wx samples.

Cheers.
« Last Edit: August 30, 2010, 06:42:58 pm by Cryogen »

Offline Cryogen

  • Regular
  • ***
  • Posts: 260
Re: wxSmith improvement
« Reply #25 on: July 19, 2010, 11:22:40 pm »
Hey Guys,

I've added most of the remaining controls to wxSmith. Details here.

I'm going to work on the bitmap editor next because I've made some headway there already, then I intend to add the managed windows i.e. those that need to be overridden when used, such as wxComboCtrl.

Cheers.
« Last Edit: July 19, 2010, 11:24:29 pm by Cryogen »

Offline Cryogen

  • Regular
  • ***
  • Posts: 260
Re: wxSmith improvement
« Reply #26 on: August 30, 2010, 06:40:07 pm »

 Hi,

I've added the image facilities in my Patch 18 and made the promised changes to wxBitmapComBox. I also updated the rough list below. I'll get the demo app out next as it's nearly there already, then look at those managed windows.

Cheers.

Offline Cryogen

  • Regular
  • ***
  • Posts: 260
Re: wxSmith improvement
« Reply #27 on: August 30, 2010, 06:49:21 pm »
Updated ToDo List

-Update Codef()'s "%n" option to use wxT() rather than _T(), as that's what wxWidgets has standardised on.
-Likewise change instances of _T() in the code to wxT() or _(), as translation isn't done for some reason. [This is largely wrong but we should check translations anyway]
-Add an option to pass a float or double through Codef() as you can't get one through easily, currently. [Partially done]
-There are a lot of typos in the documentation that could be cleaned up.
-The doxygen file comments are missing, which prevents some things from working. [Fixing progressively]
-Doxygen sees wxPropertyGrid's docs as the main doc when you try to compile wxSmith's docs. We just need to adjust things a bit to fix this. [Fixed in C::B SVN 6354 with PropGrid 1.4]
-The author used his preferred code style, which is fine, but it might be good to change what is output by wxSmith (not the internal code as that would be mega-work) so that it produces a standard ID format and variable names like m_Var, m_pVar, etc. I believe that would bring it more into line with C::B and wx but we'd need to discuss it.
-It would be nice to prevent controls displaying on the palette if they're not compiled into the wx lib in use.
-We will need to do similar checking for controls that are new in wx2.9.
-Update wxPropGrid to the latest. [Fixed in C::B SVN 6354 with PropGrid 1.4]
-Fix the awful screen flashing that occurs every time the editor display updates.
-Extend the image editor to allow dynamic addition and removal of image fields. [Done in my patch 18]
-The same for the colour editor.
-Demo app. [Done and will be updated progressively]

« Last Edit: September 03, 2010, 07:11:24 am by Cryogen »

Offline Loaden

  • Lives here!
  • ****
  • Posts: 1014
Re: wxSmith improvement
« Reply #28 on: August 30, 2010, 07:06:18 pm »
Good work! :D

Offline Cryogen

  • Regular
  • ***
  • Posts: 260
Re: wxSmith improvement
« Reply #29 on: September 03, 2010, 07:05:39 am »

 Hi Chaps,

A note. I've found a regression, today, in wxSmith. The colour property has stopped working. The colour swatches don't appear and I can't set colours. Alos properties, such as the font one, which contain the text "Click to edit" and a button to launch an editor aren't showing the text and the preview doesn't update for the font case, at least. I'm slogging back through the SVN versions to see whether it's something I've done or it happened somewhere else. So far it seems that it's not my latest image-related changes as removing all of the files doesn't restore the functionality.

Could you do me a favour and check whether you see any of these symptoms on your end? If not then it definitely sounds like me. I'm sure they were OK before the last round of updates after I got my computer back so it may have happened while I was out of the loop.

I'm also having a problem running a parallel version of C::B, so I don't have to trash my dev. version. I keep getting the dialogue telling me to set the CODEBLOCKS_DATA_DIR envvar or re-install. The first doesn't work and the second isn't possible. I've tried running it in various ways manually, from the command line, within C::B after build, etc. but always the same result. Any ideas?

Thanks.