Code::Blocks

Developer forums (C::B DEVELOPMENT STRICTLY!) => Plugins development => Topic started by: Ganbito on January 22, 2009, 07:05:32 pm

Title: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on January 22, 2009, 07:05:32 pm
I've created a plugin wich adds wxAui items to wxSmith.

Current version: 0.8.1 (Mar 9, 2009)
  * Succesfully tested on Ubuntu 8.04.1 and Windows Vista, both 64bit versions. I think that it can be released as stable version now.
  * Unlikely other codeblocks plugins, and codeblocks itself, I didn't make different project for Windows and Linux, just one project with two targets.

Current status:

* wxAuiNotebook support:

  * Based on wxNotebook for wxSmith written by byo, with little adaptation changes.
  * Complete support for wxAuiNotebook styles and events.
  * Page creation, administration and preview similar (or even equal) to byo's wxNotebook.
  * Icon per tab.

* wxAuiManager support:

  * Originally based on Sizers for wxSmith, it creates a parent wxPanel were AuiPanes are put. When no panes in the wxAuiManager, it draws a green line in the border or the parent wxPanel.
  * wxAuiPaneInfo is not a separated widget for wxSmith, it is implemented as properties of the child panes.
  * Implemented pane features (most of them accesible from quick properties panel):
    * Pane name. Destroy on close or not.
    * Standard pane positions (default, center and toolbar) support.
    * Docking and dockable positions. Dock fixed or resizable.
    * Layer, row and position.
    * Docked or floating. Floating preview is not available inside Code::Blocks. Only clicking the preview button.
    * BestSize, MinSize and MaxSize. Fixed or resizable.
    * Floating size and position.
    * Caption and caption buttons. Visible or not. A check box for minimize button is available, and it creates the proper function, but it don't work because it not implemented in wxWidgets yet.
    * Pane visibility. It is alwais shown in preview inside Code::Blocks.
    * Gripper visibility and position.
    * Pane border visibility.
  * By now, these properties are put at the top of the widget properties in the property explorer, but that will probably be changed.

* wxAuiToolBar support with real preview inside Code::Blocks.

  * Any wxControl derived class can be added to wxAuiToolBar, except itself (I see this have no sense, but it can be added in the future, specially if someone claims for it).
  * wxAuiToolBarItems that can be added separately:
    * Item: wxITEM_NORMAL and wxITEM_CHECK. There is only one event supported by these at this moment: wxEVT_COMMAND_TOOL_CLICKED. More can arrive in future releases. These are separated for the other, because the other don't need most properties and I see that it is more easy and intuitive to work with these various items.
    * Separator: wxITEM_SEPARATOR.
    * Label: wxITEM_LABEL. Default width can be chosen, but don't work so good, at least in linux, so you have to specify the width manually or use an wxStaticText instead.
    * Spacer: wxITEM_SPACER. Size can be select as width (in pixels) or proportional, but proportional result in a zero-sized spacer right now.

I attach the source code of the plugin. If you download and test it, please report any impression/bug/suggestion that you may see.

By the way, I want to submit this plugin to the contrib section, if dev's allow me to do that. ;)

For a very good IDE,

Ganbito.

Edit: If you want to download the source code of this plugin, just check out codeblocks svn and go to the contrib section :).
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: MortenMacFly on January 23, 2009, 03:33:32 pm
I've created a plugin wich adds wxAui items to wxSmith.
Looks awesome. Guess what: I am still using the "plain" wxNotebook in a project of mine due to the lack of wxAui support in wxSmith. I think these days are gone. I played around with this a little - very nice!!!
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Grom on January 23, 2009, 07:18:02 pm
Cooool we need in a full set of wx controls in wxSmith. Say the trues Code::Clocks is not enough successfull due to it dosn't have a wide paletter of controls and good export to makefiles. All other problems are minor.

Full set of Data Base controls, with interactivity similar to Borland's will bring lot of users, especialy students. Just whatch on to the borland, what they are doing. They made only one mistake they don't have strong support of cossplatform development.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: byo on January 23, 2009, 08:13:12 pm
Wow, great contribution. I wanted to do such stuff myself but it looks like it's not necessary now :)

Maybe tomorrow if I'll have some time I'll take a look into it. I must confess hat I'd like to see this feature in the trunk code - Ganbito what do you think about that ?

Regards
   BYO



PS. Grom: Please don't spam. Write extensions yourself or keep quiet. You don't have to repeat yourself over and over again. No, Code::Blocks is great even right now. It doesn't have to compete with anything nor rapidly expand. If you don't understand this you don't understand free software.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on January 23, 2009, 10:04:17 pm
Thank you for your comments. I make this plugin because I'm working with wxAui classes in a project of mine but I don't want to manage them with code only.

wxAuiToolBar seems a bit difficult to integrate, but I'm sure that it can be done.

I must confess hat I'd like to see this feature in the trunk code - Ganbito what do you think about that ?

Yes, this post is a the first step of making the plugin available to codeblocks users, what I really want is to submit it to the trunk. If you review my first post:
By the way, I want to submit this plugin to the contrib section, if dev's allow me to do that. ;)
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: byo on January 24, 2009, 11:30:06 am
Yes, this post is a the first step of making the plugin available to codeblocks users, what I really want is to submit it to the trunk. If you review my first post:

I thought rather about integrating the code into wxSmith plugin - in such case anybody havinf wxSmith plugin will also have wxAUI enabled.
But when thought about this a little bit maybe the plugin is not so god idea - it may be easier to maintain it for you.

Regards
   BYO
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on January 24, 2009, 01:16:47 pm
I thought rather about integrating the code into wxSmith plugin - in such case anybody havinf wxSmith plugin will also have wxAUI enabled.
But when thought about this a little bit maybe the plugin is not so god idea - it may be easier to maintain it for you.

Well, I thought about it when I start the plugin and I also think that wxAui support will be best inside wxSmith plugin. But you also catch the problem: I want to maintain the code by myself, not with patchs posted in this forum, especially since the plugin is not yet complete.


Edit: Obviously, if dev's don't allow me to submit the plugin to the svn server, integrating it into wxSmith will be the best solution.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: GeO on January 24, 2009, 05:30:46 pm
First I want to say that this plugin (or whatever it'll be) is very nice!
I played arround a little and found it very usefull!
Sadly i too found some bugs (or it's just my incompetency?)

    Generally:      When i undock a pane i can't dock them on again
                       Edit: i've now realized that in the Option 'Aui Dockable' the Option 'Dockable(All)'
                              isn't working, instead i must select all componets seperate!
                              Could it be that in wxAuiManager\wxsAuiPaneInfoProperty.cpp line: 44 it should be
                              "PGC1.Add(_("Dockable (All)"), DockableAll);" instead of
                              "PGC1.Add(_("Dockable (All)"), Dockable);"
    wxAuiNotebook:  1) I can't select the wxAuiNotebook in the Editor
                           2) I can't change to another page by clicking on the tab
                           3) If i turn on the option 'AUI Resizable' i can't
                               change anymore the size of the wxAuiNotebook in
                               the editor!

Greets GeO

PS: Sorry for my bad english, if you found any mistake
      pls correct them, so i can learn from my mistakes!
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on January 24, 2009, 06:47:08 pm
    Generally:      When i undock a pane i can't dock them on again

That is because you don't select any "Dockable" option. By now, "Dock direction" and "Dockable" options are independent, I will make that when you choose a "Dock direction", the right "Dockable" option gets checked automatically. For "Center", it will be "Dockable (All)".


                       Edit: i've now realized that in the Option 'Aui Dockable' the Option 'Dockable(All)'
                              isn't working, instead i must select all componets seperate!
                              Could it be that in wxAuiManager\wxsAuiPaneInfoProperty.cpp line: 44 it should be
                              "PGC1.Add(_("Dockable (All)"), DockableAll);" instead of
                              "PGC1.Add(_("Dockable (All)"), Dockable);"

I've have tested this a lot of times, and it work well for me.
I've also tried that change you suggest but, as the wxPGChoices work, the result is not the desired. Try it and you will see that I mean.
Code for make it working is in "PGRead" and "PGWrite" methods in the same file.

    wxAuiNotebook:  1) I can't select the wxAuiNotebook in the Editor
                           2) I can't change to another page by clicking on the tab

I'll try to fix them.

                           3) If i turn on the option 'AUI Resizable' i can't
                               change anymore the size of the wxAuiNotebook in
                               the editor!

It is not really a bug of wxSmithAui, it is just how wxAuiManager works.
I have tested using widget's size properties as paneinfo size properties, and I decided to separate them. But, if it is preferred by codeblocks users, I can join them in this way:

Widget  --> wxAuiPaneInfo
Size      --> BestSize
MinSize  --> MinSize
MaxSize --> MaxSize

What do you think?
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: GeO on January 25, 2009, 02:55:20 pm
    Generally:      When i undock a pane i can't dock them on again

That is because you don't select any "Dockable" option. By now, "Dock direction" and "Dockable" options are independent, I will make that when you choose a "Dock direction", the right "Dockable" option gets checked automatically. For "Center", it will be "Dockable (All)".

I understand this, but i can't see any difference in the code if I check "Dockable (All)" or if I let unchecked all options!

It is not really a bug of wxSmithAui, it is just how wxAuiManager works.
I have tested using widget's size properties as paneinfo size properties, and I decided to separate them. But, if it is preferred by codeblocks users, I can join them in this way:

Widget  --> wxAuiPaneInfo
Size      --> BestSize
MinSize  --> MinSize
MaxSize --> MaxSize

What do you think?

I think it would be better to join them, because the separation of them brings alot of confusion.

Greets GeO
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on February 01, 2009, 06:35:50 pm
Updated to version 0.6.1 beta. Mainly a bug fix release. More to come.

ADDED: Standard pane type support. When you change the standard pane type, it change the needed properties to match the standard pane type you selected. If you change any other property later, standard pane type don't change, but you get the change on the result.

    Generally:      When i undock a pane i can't dock them on again
FIXED: I misunderstood you because it works if not all were checked.

    wxAuiNotebook:  1) I can't select the wxAuiNotebook in the Editor
                           2) I can't change to another page by clicking on the tab
FIXED: Problem was the HitTest method on wxAuiNotebook, that don't work ok. I've reimplemented that method.

                           3) If i turn on the option 'AUI Resizable' i can't
                               change anymore the size of the wxAuiNotebook in
                               the editor!
FIXED.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: lifeofgary on February 01, 2009, 07:41:08 pm

I would love to try this plugin, it exactly duplicates what I want to do create a wxaui application in codeblocks.  Unfortunately I'm new to codeblocks and am having trouble finding instructions on how to install a plugin from source.  So far I've tried opening wxSmithAui.cbp  I was asked to define the following vars (I have no idea what the correct values should be or if I'm going down the right path)  wxsmith, wxpropgrid.

A little guidance would be helpful.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: MortenMacFly on February 01, 2009, 08:14:09 pm
Updated to version 0.6.1 beta. Mainly a bug fix release. More to come.
Taking the risk of repeating myself: That is a very nice contribution, really!
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: GeO on February 01, 2009, 08:40:33 pm
I was asked to define the following vars (I have no idea what the correct values should be or if I'm going down the right path)  wxsmith, wxpropgrid.
Just make two new global variables one for wxsmith with the path to wxsmith
("Path\to\the\c::b\source"\src\plugins\contrib\wxSmith)
and another one for wxpropgrid ("Path\to\the\c::b\source"\src\plugins\contrib\wxSmith\propgrid\contrib)

GeO
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: lifeofgary on February 01, 2009, 11:37:45 pm
Thank you Geo!  I will try this.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on February 02, 2009, 07:27:09 pm
Updated to version: 0.6.2 beta.

FIXED: Non standard properties generation when a standard pane type is selected.

To download the plugin: go to the first post on this topic.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on February 06, 2009, 01:20:57 am
Is there still a bug in this plugin, because it should call the UnInit() method of wxAuiManager before destroying it, in code and preview generation.

I've searched a lot for it, but I didn't see how to make it with the functions that wxSmith provide me.

Are these implemented and I missed them (please guide me to the methods/classes where I can find it) or it is necessary to modify something in wxSmith to allow this "todo before destroy"?


P.S.: wxAuiToolBar works well with all type of controls in my working copy, now I going to implement wxAuiToolBarItems.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: byo on February 07, 2009, 01:21:29 am
Is there still a bug in this plugin, because it should call the UnInit() method of wxAuiManager before destroying it, in code and preview generation.

I've searched a lot for it, but I didn't see how to make it with the functions that wxSmith provide me.

Are these implemented and I missed them (please guide me to the methods/classes where I can find it) or it is necessary to modify something in wxSmith to allow this "todo before destroy"?


P.S.: wxAuiToolBar works well with all type of controls in my working copy, now I going to implement wxAuiToolBarItems.

Right now there's no such functionality. You can try to workaround this by connection to EVT_CLOSE event but I don't know whether it will work.

Regards
  BYO
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on February 11, 2009, 11:44:46 am
I'm having problems with AuiToolBarItems. These items shouldn't have a variable declaration, so I'm not sending flVariable to the Constructor.

For example, this is the code of the constructor of an separator (which have no styles, no events and no properties):

Code: [Select]
namespace
{
    #include "../images/wxsAuiToolBarSeparator16.xpm"
    #include "../images/wxsAuiToolBarSeparator32.xpm"

    wxsRegisterItem<wxsAuiToolBarSeparator> Reg(
        _T("wxAuiToolBarSeparator"),            // Class name
        wxsTWidget,                             // Item type
        _T("wxWindows"),                        // License
        _T("Benjamin I. Williams"),             // Author
        _T(""),                                 // Author's email
        _T(""),                                 // Item's homepage
        _T("Aui"),                              // Category in palette
        10,                                     // Priority in palette
        _T("AuiToolBarSeparator"),              // Base part of names for new items
        wxsCPP,                                 // List of coding languages supported by this item
        2, 8,                                   // Version
        wxBitmap(wxsAuiToolBarSeparator32_xpm), // 32x32 bitmap
        wxBitmap(wxsAuiToolBarSeparator16_xpm), // 16x16 bitmap
        false);

    long flAuiToolBarSeparator = flVariable;
}

wxsAuiToolBarSeparator::wxsAuiToolBarSeparator(wxsItemResData* Data):
    wxsItem(Data,&Reg.Info,0,0,0)
{}

With this, I get no properties in the property editor, but this code is created in the declaration section:
Code: [Select]
wxAuiToolBarSeparator* ;

I'm watching wxSmith code, specially wxsToolBarItem's code and I can't see what I'm doing wrong. Any idea?

By now, wxsAuiToolBar and wxsAuiToolBarItems are not derived from wxsTool. I'm deriving wxsAuiToolBar from wxsContainer. Should I swith to wxsTool? Can it help with this?
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: rcoll on February 11, 2009, 08:28:15 pm
This looks like it might be a problem with wxSmith not handling flVariable properly (BYO?); but there is an easy work-around.  Override the declarations code with your own version of OnBuildDeclarationsCode, and make the declarations in there that you want (you might just want it to be empty).

Ringo
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on February 11, 2009, 10:41:07 pm
Thanks, rcoll, that was what I need.

I hope to upload an update in the next days.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on February 13, 2009, 09:57:05 pm
Right now there's no such functionality. You can try to workaround this by connection to EVT_CLOSE event but I don't know whether it will work.

I've tried this, but only works with Exact preview, inside C::B don't. :?
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: byo on February 14, 2009, 11:40:49 am
Right now there's no such functionality. You can try to workaround this by connection to EVT_CLOSE event but I don't know whether it will work.

I've tried this, but only works with Exact preview, inside C::B don't. :?

Here are another "workarounds" which came into my mind, unfortunately I haven't tested them yet. All are based by subclassing the wxAuiManager into new class and:
* Can try to overwrite Destroy() function, it's virtual and used to destroy the window. But from my test projects it's not always called
* Can try to call Uninit in descructor of the class

If this won't work, I'll try to add such feature into wxSmith.

Regards
  BYO
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on February 15, 2009, 11:22:13 am
Sorry, I get the solution using EVT_DESTROY but I forget posting it.

But I still don't know how to generate the code in the destruction section, so I'll wait for this feature... when you can add it.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: GeO on February 21, 2009, 02:03:22 pm
I'm not happy to write this :(, but i found another bug:
if i click on a wxAuiNotebook that haven't any pages Cb crashs

greetings GeO
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on February 21, 2009, 05:02:55 pm
I'm not happy to write this :(, but i found another bug:
if i click on a wxAuiNotebook that haven't any pages Cb crashs

greetings GeO

Confirmed. I'll solve it for the next release (0.8.0) wich is coming soon (this weekend or at the beginning of the next week). With this release will come wxAuiToolBar support (with real preview) wich is almost implemented.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on February 28, 2009, 02:43:36 pm
Updated to version 0.8.0 beta. Sorry for the delay, I was really busy this week.

FIXED: Code::Blocks crash when click on wxAuiNotebook preview and it has no pages. (Thans GeO for your reports).

ADDED: wxAuiToolBar support with real preview inside Code::Blocks.
    * Any wxControl derived class can be added to wxAuiToolBar, except itself (I see this have no sense, but it can be added in the future, specially if someone claims for it).
    * wxAuiToolBarItems that can be added separately:
        * Item: wxITEM_NORMAL and wxITEM_CHECK. There is only one event supported by these at this moment: wxEVT_COMMAND_TOOL_CLICKED. More can arrive in future releases. These are separated for the other, because the other don't need most properties and I see that it is more easy and intuitive to work with these various items.
        * Separator: wxITEM_SEPARATOR.
        * Label: wxITEM_LABEL. Default width can be chosen, but don't work so good, at least in linux, so you have to specify the width manually or use an wxStaticText instead.
        * Spacer: wxITEM_SPACER. Size can be select as width (in pixels) or proportional, but proportional result in a zero-sized spacer right now.

Pictures for the added items are basically taken from wxSmith and little modified.

Basic wxAui features are implemented. By the way, I have other projects that need my attention, so this will be the last release for a long time with the exception of bug-fix releases.

Byo: As the primary developement stage has ended, I think that this can now be added to wxSmith, because following updates can be easily submitted as patches. I can try to do this, but I need you solve me a pair of questions:
* It is a problem for you that I use CamelCase instead of the smallcase wich all wxSmith is written?
* It is acceptable to put the wxSmithAui with its actual directory layout inside wxSmith (.../wxSmith/wxwidgets/defitems/wxAui/[wxSmithAui source] and .../wxSmith/wxwidgets/icons/wxAui/[wxSmithAui icons])?

If the answer to both is "yes", I can try to fix the #includes and attach the result so you can add it to trunk.


To download the plugin: go to the first post on this topic.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: PsYhLo on March 05, 2009, 11:16:26 am
i can't compile it :(
Code: [Select]
........
/home/psyhlo/Desktop/downloads/wxSmithAui/wxAuiManager/wxsAuiManager.cpp||In member function ‘virtual wxObject* wxsAuiManager::OnBuildPreview(wxWindow*, long int)’:|
/home/psyhlo/Desktop/downloads/wxSmithAui/wxAuiManager/wxsAuiManager.cpp|564|error: ‘wxAuiToolBar’ was not declared in this scope|
/home/psyhlo/Desktop/downloads/wxSmithAui/wxAuiManager/wxsAuiManager.cpp|564|error: ‘ChildAsToolBar’ was not declared in this scope|
/home/psyhlo/Desktop/downloads/wxSmithAui/wxAuiManager/wxsAuiManager.cpp|564|error: expected primary-expression before ‘)’ token|
/home/psyhlo/Desktop/downloads/wxSmithAui/wxAuiManager/wxsAuiManager.cpp|564|error: expected `)' before ‘wxCheckDynamicCast’|
/home/psyhlo/Desktop/downloads/wxSmithAui/wxAuiManager/wxsAuiManager.cpp||In member function ‘virtual void wxsAuiManager::OnAddChildQPP(wxsItem*, wxsAdvQPP*)’:|
/home/psyhlo/Desktop/downloads/wxSmithAui/wxAuiManager/wxsAuiManager.cpp|669|error: ‘wxAuiToolBar’ was not declared in this scope|
/home/psyhlo/Desktop/downloads/wxSmithAui/wxAuiManager/wxsAuiManager.cpp|669|error: expected primary-expression before ‘)’ token|
/home/psyhlo/Desktop/downloads/wxSmithAui/wxAuiManager/wxsAuiManager.cpp|669|error: expected `)' before ‘wxCheckDynamicCast’|
/home/psyhlo/Desktop/downloads/wxSmithAui/wxAuiManager/wxsAuiManager.cpp|684|error: expected `)' before ‘}’ token|
/home/psyhlo/Desktop/downloads/wxSmithAui/wxAuiManager/wxsAuiManager.cpp|684|error: expected primary-expression before ‘}’ token|
/home/psyhlo/Desktop/downloads/wxSmithAui/wxAuiManager/wxsAuiManager.cpp|684|error: expected `;' before ‘}’ token|
||=== Build finished: 10 errors, 58 warnings ===|
and after some tweaking :) this
Code: [Select]
........
/home/psyhlo/Desktop/downloads/wxSmithAui/wxAuiManager/wxsAuiManager.cpp||In member function ‘virtual wxObject* wxsAuiManager::OnBuildPreview(wxWindow*, long int)’:|
/home/psyhlo/Desktop/downloads/wxSmithAui/wxAuiManager/wxsAuiManager.cpp|564|error: invalid static_cast from type ‘wxWindow*’ to type ‘const wxsAuiToolBar*’|
/home/psyhlo/Desktop/downloads/wxSmithAui/wxAuiManager/wxsAuiManager.cpp|564|error: ‘ms_classInfo’ is not a member of ‘wxsAuiToolBar’|
/home/psyhlo/Desktop/downloads/wxSmithAui/wxAuiManager/wxsAuiManager.cpp||In member function ‘virtual void wxsAuiManager::OnAddChildQPP(wxsItem*, wxsAdvQPP*)’:|
/home/psyhlo/Desktop/downloads/wxSmithAui/wxAuiManager/wxsAuiManager.cpp|669|error: invalid static_cast from type ‘wxObject*’ to type ‘const wxsAuiToolBar*’|
/home/psyhlo/Desktop/downloads/wxSmithAui/wxAuiManager/wxsAuiManager.cpp|669|error: ‘ms_classInfo’ is not a member of ‘wxsAuiToolBar’|
||=== Build finished: 4 errors, 58 warnings ===|

ubuntu 8.10
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on March 05, 2009, 03:55:14 pm
I'm developing the plugin on Ubuntu 8.04.1 64bits and it compiles with no error, only a few warnings derived from .xpm images generated by the gimp.

What version of wxWidgets are you using?

You can't change "wxAuiToolBar" to "wxsAuiToolBar", are completely different classes, in fact, wxsAuiToolBar is not derived from wxAuiToolBar or any other wxWindow class.

It seems that compiler can't found wxAuiToolBar, but the #include files are correct in the attached version. You can try to include <wx/aui/aui.h> or <wx/aui/auibar.h> in wxAuiManager.cpp. Then report what happen.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: PsYhLo on March 05, 2009, 06:14:07 pm
same thing
wxwidgets version is 2.8.8.0

#include <wx/aui/auibar.h> - gave me that there is no such file

my wx library is from ubuntu repository

edit
after update to 2.8.9.2 it nearly works
Code: [Select]
/home/psyhlo/Desktop/downloads/wxSmithAui/wxAuiManager/wxsAuiManager.cpp|566|error: ‘class wxAuiToolBar’ has no member named ‘m_GripperSize’|
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on March 05, 2009, 07:13:25 pm
It is possible that wxAuiToolBar was not implemented until wxWidgets 2.8.9. I'm running 2.8.9 and 2.9svn so I didn't care previous version. I should treat this as a bug to solve.

It seems that when you try to unmake the changes, you went so far. That wxAuiToolBar has to be an wxsAuiToolBar, wich is the one who has the member named m_GripperSize.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: PsYhLo on March 05, 2009, 08:19:32 pm
but now i'm with 2.8.9.2 from wxwidget repo
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on March 05, 2009, 10:52:02 pm
Please re-read my last post:
It seems that when you try to unmake the changes, you went so far. That wxAuiToolBar has to be an wxsAuiToolBar, wich is the one who has the member named m_GripperSize.

Change in line 566 wxAuiToolBar to wxsAuiToolBar.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: jens on March 05, 2009, 11:27:43 pm
I just tested it the first time (works out of the box).

Great work !!

You are right wxAuToolbar exists since wx2.8.9 .

To get rid of the (xpm-)warnings you only have to change "static char*" to "static const char*" inside the xpm-files.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on March 06, 2009, 01:32:21 am
To get rid of the (xpm-)warnings you only have to change "static char*" to "static const char*" inside the xpm-files.

Thanks. I will try it, and then configuring the Gimp to export them in that way if it is possible.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: PsYhLo on March 06, 2009, 07:30:45 am
funny i have reverted my changes
everything was alright after i extract the source one more time and it compile
sorry for my complaining :oops:

the plugin is great
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: JGM on March 06, 2009, 08:48:42 am
great this needs to be added to the codeblocks repo soon :D
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on March 06, 2009, 12:18:18 pm
Don't worry, PsYhLo. And thanks.

JGM, I've asked devs to add this plugin to the svn trunk, but I have no answer yet. Really, byo suggested to add this to his plugin, what I possibly make at last, but I don't know when.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: MortenMacFly on March 06, 2009, 01:10:11 pm
Really, byo suggested to add this to his plugin, what I possibly make at last, but I don't know when.
I have no objections at all - but you would need an account which can only be setup by Yiannis. His time is limited atm... If it is of help I (or Byo) could add the plugin in the meantime. Hence you would have read-only rights only.

An alternative is that you create an own project at BerliOS as some other plugin projects do, too. But: As it integrates with wxSmith I would prefer the main SVN.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Grom on March 06, 2009, 07:28:16 pm
What about the support of upcoming wxWidget 3.0?
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on March 07, 2009, 12:54:09 am
MortenMacFly, I have no plans to create my own project at BerliOS, mainly because this is a plugin over a plugin and I also prefer to use the main SVN.

The unique question is to upload it as a standalone plugin or integrate it with wxSmith. If I integrate it with wxSmith I thought that I won't have write rights on the SVN, so I'll pass the plugin and patches to byo, who will upload them. But this have two problems: updating can be difficult and it would provide byo an extra work.

If it is of help I (or Byo) could add the plugin in the meantime. Hence you would have read-only rights only.

That is a good possibility, but I just discovered two new widgets (MDI Parent and Child) that I'll plan to support soon, so I think it is preferable to wait for that release before sending the plugin to the SVN.


Grom:
I'm using wxWidgets 2.9svn in my own project (currently paused) and I see that the code of wxAui wasn't changed too much, so it should work out of the box (at least code generation), althouth it can been improved.

Soon I will continue working in my project using this plugin so, if I find any mistake, I'll solve it and submit a patch or the new version.

Anyway you can try it and report if it works or what not work.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: MortenMacFly on March 07, 2009, 02:02:36 pm
[...] but I just discovered two new widgets (MDI Parent and Child) that I'll plan to support soon, so I think it is preferable to wait for that release before sending the plugin to the SVN.
No problem. Just drop me (or Byo) a note once you think it's time to release. Your work is highly appreciated.

Besides: Yiannis can setup access to certain folders IIRC. So keeping it out of wxSmith would enable you to have SVN access. In addition it's a nice tech-demo for other plugin-devs.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on March 09, 2009, 11:41:57 pm
Updated to version: 0.8.1

ADDED: wxAuiNotebook icon per tab.

I've just tested Aui based MDI and I didn't found it interesting, at least for my own projects, so I won't implement that widgets soon, sorry. As I say before, I stop active developement of this plugin for an indefinite period, but I will solve bugs you may report or I can find. I also accept improvement suggestions, but I don't know when I'll apply them.

MortenMacFly (or Byo), please upload the plugin to SVN, thanks.


To download the plugin: go to the fist post of this thread.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: basile on April 03, 2009, 11:00:51 am
Hi,

Could you please tell me if it's possible to install it with the 8.02 windows binary?

Because as you described it, we need to set some variable like wxsmith and wxpropgrid. But if you download only windows binary, you don't have the "src" directory in the "path\to\c::b\".

Is this plugin only available for Linux, or do you wait for a stable release (1.0) to provide it as a contrib plugin?

Thanks,

Basile

P.S: Quotes from first page.

Quote
Just make two new global variables one for wxsmith with the path to wxsmith
("Path\to\the\c::b\source"\src\plugins\contrib\wxSmith)
and another one for wxpropgrid ("Path\to\the\c::b\source"\src\plugins\contrib\wxSmith\propgrid\contrib)
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on April 03, 2009, 02:22:49 pm
Could you please tell me if it's possible to install it with the 8.02 windows binary?

Because as you described it, we need to set some variable like wxsmith and wxpropgrid. But if you download only windows binary, you don't have the "src" directory in the "path\to\c::b\".

You need the source code of codeblocks to build the plugin. If you re-read the quote, I didn't write "path\to\c::b\", but "path\to\c::b\source". It may (should) work with 8.02 but I have tested it only with the latest nightlies. At least on linux, build the plugin with 8.02 require some tweaks.

Is this plugin only available for Linux, or do you wait for a stable release (1.0) to provide it as a contrib plugin?
Quote
Just make two new global variables one for wxsmith with the path to wxsmith
("Path\to\the\c::b\source"\src\plugins\contrib\wxSmith)
and another one for wxpropgrid ("Path\to\the\c::b\source"\src\plugins\contrib\wxSmith\propgrid\contrib)

The plugin is available for windows and linux. It could also be built for mac, but I don't have a mac to test it. I've marked last version as stable, but not fully featured. That's the reason because it is not 1.0.

Integrating the plugin on the contrib section is not as easy as uploading it to the server. It has to be integrated with the codeblocks build system and it may require some test wich have to be done by codeblocks devs. MortenMacFly is currently working on it. I don't know when he will can upload the plugin to svn. Just be patient.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: basile on April 03, 2009, 02:54:01 pm
Hi and thanks for your answer.

I don't want put pressure on MortenMacFly!  :wink: I'll be patient for your work. As you said, I will try to build it from the src.

Keep on mov', devs!

Big thanks!
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: igorashu on April 27, 2009, 04:26:45 pm
Hello!

I'm trying to build the Windows version of this plugin. It compiles without any warnings, but when linking begins, I get the following error:

Compiling: wxSmithAui.cpp
Linking dynamic library: wxSmithAui.dll
d000114.o:(.idata$5+0x0): multiple definition of `__imp___ZTV9TiXmlText'
d000015.o:(.idata$5+0x0): first defined here
d000114.o:(.idata$6+0x0): multiple definition of `__nm___ZTV9TiXmlText'
d000015.o:(.idata$6+0x0): first defined here
collect2: ld returned 1 exit status

What can I do? Thanks!
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: MortenMacFly on April 27, 2009, 05:00:57 pm
What can I do?
Either...
...you post the full build log (see my sig) for analysis
...or...
...you try the wxfnb_to_wxaui test branch (in SVN) which has this plugin integrated (for testing).
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: igorashu on April 27, 2009, 05:11:22 pm
Thanks for the swift reply  :)
Here's the build log:
Code: [Select]
-------------- Build: Windows in wxSmith - Aui ---------------

mingw32-g++.exe  -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DBUILDING_PLUGIN -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DWX_PRECOMP -DwxUSE_UNICODE -DWXMAKINGLIB_PROPGRID -DwxPG_USE_WXMODULE=0 -DTIXML_USE_STL    -IC:\Progra~1\CodeBlocks\src\include -IC:\Progra~1\CodeBlocks\src\include\wxscintilla\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\lib\gcc_dll\mswu -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\propgrid\contrib\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith  -c "C:\Documents and Settings\Ionut\Desktop\wxSmithAui\wxAuiManager\wxsAuiManager.cpp" -o .objs\wxAuiManager\wxsAuiManager.o
mingw32-g++.exe  -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DBUILDING_PLUGIN -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DWX_PRECOMP -DwxUSE_UNICODE -DWXMAKINGLIB_PROPGRID -DwxPG_USE_WXMODULE=0 -DTIXML_USE_STL    -IC:\Progra~1\CodeBlocks\src\include -IC:\Progra~1\CodeBlocks\src\include\wxscintilla\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\lib\gcc_dll\mswu -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\propgrid\contrib\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith  -c "C:\Documents and Settings\Ionut\Desktop\wxSmithAui\wxAuiManager\wxsAuiManagerParentQP.cpp" -o .objs\wxAuiManager\wxsAuiManagerParentQP.o
mingw32-g++.exe  -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DBUILDING_PLUGIN -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DWX_PRECOMP -DwxUSE_UNICODE -DWXMAKINGLIB_PROPGRID -DwxPG_USE_WXMODULE=0 -DTIXML_USE_STL    -IC:\Progra~1\CodeBlocks\src\include -IC:\Progra~1\CodeBlocks\src\include\wxscintilla\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\lib\gcc_dll\mswu -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\propgrid\contrib\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith  -c "C:\Documents and Settings\Ionut\Desktop\wxSmithAui\wxAuiManager\wxsAuiPaneInfoProperty.cpp" -o .objs\wxAuiManager\wxsAuiPaneInfoProperty.o
mingw32-g++.exe  -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DBUILDING_PLUGIN -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DWX_PRECOMP -DwxUSE_UNICODE -DWXMAKINGLIB_PROPGRID -DwxPG_USE_WXMODULE=0 -DTIXML_USE_STL    -IC:\Progra~1\CodeBlocks\src\include -IC:\Progra~1\CodeBlocks\src\include\wxscintilla\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\lib\gcc_dll\mswu -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\propgrid\contrib\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith  -c "C:\Documents and Settings\Ionut\Desktop\wxSmithAui\wxAuiNotebook\wxSmithAuiNotebook.cpp" -o .objs\wxAuiNotebook\wxSmithAuiNotebook.o
mingw32-g++.exe  -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DBUILDING_PLUGIN -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DWX_PRECOMP -DwxUSE_UNICODE -DWXMAKINGLIB_PROPGRID -DwxPG_USE_WXMODULE=0 -DTIXML_USE_STL    -IC:\Progra~1\CodeBlocks\src\include -IC:\Progra~1\CodeBlocks\src\include\wxscintilla\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\lib\gcc_dll\mswu -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\propgrid\contrib\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith  -c "C:\Documents and Settings\Ionut\Desktop\wxSmithAui\wxAuiNotebook\wxsAuiNotebook.cpp" -o .objs\wxAuiNotebook\wxsAuiNotebook.o
mingw32-g++.exe  -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DBUILDING_PLUGIN -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DWX_PRECOMP -DwxUSE_UNICODE -DWXMAKINGLIB_PROPGRID -DwxPG_USE_WXMODULE=0 -DTIXML_USE_STL    -IC:\Progra~1\CodeBlocks\src\include -IC:\Progra~1\CodeBlocks\src\include\wxscintilla\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\lib\gcc_dll\mswu -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\propgrid\contrib\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith  -c "C:\Documents and Settings\Ionut\Desktop\wxSmithAui\wxAuiToolBar\wxSmithAuiToolBar.cpp" -o .objs\wxAuiToolBar\wxSmithAuiToolBar.o
mingw32-g++.exe  -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DBUILDING_PLUGIN -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DWX_PRECOMP -DwxUSE_UNICODE -DWXMAKINGLIB_PROPGRID -DwxPG_USE_WXMODULE=0 -DTIXML_USE_STL    -IC:\Progra~1\CodeBlocks\src\include -IC:\Progra~1\CodeBlocks\src\include\wxscintilla\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\lib\gcc_dll\mswu -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\propgrid\contrib\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith  -c "C:\Documents and Settings\Ionut\Desktop\wxSmithAui\wxAuiToolBar\wxsAuiToolBar.cpp" -o .objs\wxAuiToolBar\wxsAuiToolBar.o
mingw32-g++.exe  -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DBUILDING_PLUGIN -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DWX_PRECOMP -DwxUSE_UNICODE -DWXMAKINGLIB_PROPGRID -DwxPG_USE_WXMODULE=0 -DTIXML_USE_STL    -IC:\Progra~1\CodeBlocks\src\include -IC:\Progra~1\CodeBlocks\src\include\wxscintilla\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\lib\gcc_dll\mswu -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\propgrid\contrib\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith  -c "C:\Documents and Settings\Ionut\Desktop\wxSmithAui\wxAuiToolBar\wxsAuiToolBarItem.cpp" -o .objs\wxAuiToolBar\wxsAuiToolBarItem.o
mingw32-g++.exe  -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DBUILDING_PLUGIN -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DWX_PRECOMP -DwxUSE_UNICODE -DWXMAKINGLIB_PROPGRID -DwxPG_USE_WXMODULE=0 -DTIXML_USE_STL    -IC:\Progra~1\CodeBlocks\src\include -IC:\Progra~1\CodeBlocks\src\include\wxscintilla\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\lib\gcc_dll\mswu -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\propgrid\contrib\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith  -c "C:\Documents and Settings\Ionut\Desktop\wxSmithAui\wxAuiToolBar\wxsAuiToolBarItemBase.cpp" -o .objs\wxAuiToolBar\wxsAuiToolBarItemBase.o
mingw32-g++.exe  -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DBUILDING_PLUGIN -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DWX_PRECOMP -DwxUSE_UNICODE -DWXMAKINGLIB_PROPGRID -DwxPG_USE_WXMODULE=0 -DTIXML_USE_STL    -IC:\Progra~1\CodeBlocks\src\include -IC:\Progra~1\CodeBlocks\src\include\wxscintilla\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\lib\gcc_dll\mswu -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\propgrid\contrib\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith  -c "C:\Documents and Settings\Ionut\Desktop\wxSmithAui\wxAuiToolBar\wxsAuiToolBarLabel.cpp" -o .objs\wxAuiToolBar\wxsAuiToolBarLabel.o
mingw32-g++.exe  -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DBUILDING_PLUGIN -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DWX_PRECOMP -DwxUSE_UNICODE -DWXMAKINGLIB_PROPGRID -DwxPG_USE_WXMODULE=0 -DTIXML_USE_STL    -IC:\Progra~1\CodeBlocks\src\include -IC:\Progra~1\CodeBlocks\src\include\wxscintilla\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\lib\gcc_dll\mswu -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\propgrid\contrib\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith  -c "C:\Documents and Settings\Ionut\Desktop\wxSmithAui\wxAuiToolBar\wxsAuiToolBarSeparator.cpp" -o .objs\wxAuiToolBar\wxsAuiToolBarSeparator.o
mingw32-g++.exe  -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DBUILDING_PLUGIN -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DWX_PRECOMP -DwxUSE_UNICODE -DWXMAKINGLIB_PROPGRID -DwxPG_USE_WXMODULE=0 -DTIXML_USE_STL    -IC:\Progra~1\CodeBlocks\src\include -IC:\Progra~1\CodeBlocks\src\include\wxscintilla\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\lib\gcc_dll\mswu -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\propgrid\contrib\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith  -c "C:\Documents and Settings\Ionut\Desktop\wxSmithAui\wxAuiToolBar\wxsAuiToolBarSpacer.cpp" -o .objs\wxAuiToolBar\wxsAuiToolBarSpacer.o
mingw32-g++.exe  -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DBUILDING_PLUGIN -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DWX_PRECOMP -DwxUSE_UNICODE -DWXMAKINGLIB_PROPGRID -DwxPG_USE_WXMODULE=0 -DTIXML_USE_STL    -IC:\Progra~1\CodeBlocks\src\include -IC:\Progra~1\CodeBlocks\src\include\wxscintilla\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\include -IC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\lib\gcc_dll\mswu -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith\propgrid\contrib\include -IC:\Progra~1\CodeBlocks\src\plugins\contrib\wxSmith  -c "C:\Documents and Settings\Ionut\Desktop\wxSmithAui\wxSmithAui.cpp" -o .objs\wxSmithAui.o
mingw32-g++.exe -shared   -Wl,--dll -LC:\Progra~1\CodeBlocks\src\devel -LC:\Progra~1\CodeBlocks\wxWidgets-2.8.10\lib\gcc_dll -L..\..\..\..\Progra~1\CodeBlocks  .objs\wxAuiManager\wxsAuiManager.o .objs\wxAuiManager\wxsAuiManagerParentQP.o .objs\wxAuiManager\wxsAuiPaneInfoProperty.o .objs\wxAuiNotebook\wxSmithAuiNotebook.o .objs\wxAuiNotebook\wxsAuiNotebook.o .objs\wxAuiToolBar\wxSmithAuiToolBar.o .objs\wxAuiToolBar\wxsAuiToolBar.o .objs\wxAuiToolBar\wxsAuiToolBarItem.o .objs\wxAuiToolBar\wxsAuiToolBarItemBase.o .objs\wxAuiToolBar\wxsAuiToolBarLabel.o .objs\wxAuiToolBar\wxsAuiToolBarSeparator.o .objs\wxAuiToolBar\wxsAuiToolBarSpacer.o .objs\wxSmithAui.o   -o wxSmithAui.dll -Wl,--enable-auto-image-base -Wl,--export-all-symbols -Wl,--add-stdcall-alias -Wl,--enable-auto-import  -lwxmsw28u -lcodeblocks -lwxsmithlib
d000119.o:(.idata$5+0x0): multiple definition of `__imp___ZTV9TiXmlText'
d000101.o:(.idata$5+0x0): first defined here
d000119.o:(.idata$6+0x0): multiple definition of `__nm___ZTV9TiXmlText'
d000101.o:(.idata$6+0x0): first defined here
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 48 seconds)
0 errors, 0 warnings

In the meantime, I'll give wxfnb_to_wxaui a try.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on April 28, 2009, 12:04:26 pm
I remember "__imp__..." errors, but I don't remember how I solve them. Sorry.

MortenMacFly, great to read that, I will try that branch. :D
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: MortenMacFly on April 28, 2009, 12:40:08 pm
Here's the build log:
Code: [Select]
-Wl,--enable-auto-import
Can you try to remove that option? Alternatively try to just use the project (CBP) file from SVN. I remember that I did some modifications but don't recall the difference to the one posted in this thread. Anyways - the SVN version compiles just fine.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on April 28, 2009, 10:12:46 pm
I remember that I did some modifications but don't recall the difference to the one posted in this thread. Anyways - the SVN version compiles just fine.

Well, the CBP I've submitted work fine for me, only a few warnings from .xpm images, that I see they have been fixed in SVN. Anyway, any fix/enhancement you (you, jens, any cb developer...) may do is welcome. :D
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: igorashu on April 28, 2009, 10:21:24 pm
Code: [Select]
-Wl,--enable-auto-import
Can you try to remove that option? Alternatively try to just use the project (CBP) file from SVN. I remember that I did some modifications but don't recall the difference to the one posted in this thread. Anyways - the SVN version compiles just fine.
Thanks for your help. I tried recompiling without that option and this is the output:
Code: [Select]
Info: resolving vtable for wxsBoolPropertyby linking to __imp___ZTV15wxsBoolProperty (auto-import)
Info: resolving vtable for wxsEnumPropertyby linking to __imp___ZTV15wxsEnumProperty (auto-import)
Info: resolving vtable for wxsPositionSizePropertyby linking to __imp___ZTV23wxsPositionSizeProperty (auto-import)
Info: resolving vtable for wxsLongPropertyby linking to __imp___ZTV15wxsLongProperty (auto-import)
Info: resolving vtable for wxsStringPropertyby linking to __imp___ZTV17wxsStringProperty (auto-import)
Info: resolving vtable for TiXmlTextby linking to __imp___ZTV9TiXmlText (auto-import)
Info: resolving vtable for wxsContainerby linking to __imp___ZTV12wxsContainer (auto-import)
Info: resolving vtable for wxsBitmapIconPropertyby linking to __imp___ZTV21wxsBitmapIconProperty (auto-import)
Info: resolving vtable for wxsCustomEditorPropertyby linking to __imp___ZTV23wxsCustomEditorProperty (auto-import)
d000119.o:(.idata$5+0x0): multiple definition of `__imp___ZTV9TiXmlText'
d000101.o:(.idata$5+0x0): first defined here
d000119.o:(.idata$6+0x0): multiple definition of `__nm___ZTV9TiXmlText'
d000101.o:(.idata$6+0x0): first defined here
C:\Program Files\CodeBlocks\MinGW\bin\ld.exe: warning: auto-importing has been activated without --enable-auto-import specified on the command line.
This should work unless it involves constant data structures referencing symbols from auto-imported DLLs.collect2: ld returned 1 exit status

I'll download the SVN version and compare the two projects. Thanks :)
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: igorashu on April 29, 2009, 10:16:59 pm
I've tried the wxfnb_to_wxaui branch. Same thing all over again.
Guess I'll try compiling the Linux version of Code::Blocks and its plugins.
Can I hope that this plugin will be included in the next binary release for Windows?
Thanks.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: x3y1 on April 30, 2009, 06:42:14 am
I've created a plugin wich adds wxAui items to wxSmith.

Current version: 0.8.1 (Mar 9, 2009)
  * Succesfully tested on Ubuntu 8.04.1 and Windows Vista, both 64bit versions. I think that it can be released as stable version now.
  * Unlikely other codeblocks plugins, and codeblocks itself, I didn't make different project for Windows and Linux, just one project with two targets.


When I Compiled this plugin and installed in c::b, I cannot exit C::B normally, I have to kill the process codeblocks.exe in the taskmgr! I am in 32bit system(windows xp)!
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on May 01, 2009, 12:49:02 am
When I Compiled this plugin and installed in c::b, I cannot exit C::B normally, I have to kill the process codeblocks.exe in the taskmgr! I am in 32bit system(windows xp)!

I've experienced this on my developing linux system. Then I've reinstalled and thought that it has gone. Now I have updated to the last Ubuntu (64bit) and I can confirm that this bug already exists.

It happens when you use wxAuiManager. If you just use wxAuiNotebook, codeblocks exits normally.

I'm sure the reason of this bug is that the method UnInit() of any wxAuiManager has to be called before destroy them, but wxSmith don't have support for such type of calls right now, so I've tried to solve it within my plugin, but I can't solve the bug. Probably, to fix this bug, modify (add a feature to) wxSmith will be needed.

I don't know when I can fix this bug. Sorry.
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: x3y1 on May 01, 2009, 07:31:08 pm
I'm sure the reason of this bug is that the method UnInit() of any wxAuiManager has to be called before destroy them, but wxSmith don't have support for such type of calls right now, so I've tried to solve it within my plugin, but I can't solve the bug. Probably, to fix this bug, modify (add a feature to) wxSmith will be needed.

I don't know when I can fix this bug. Sorry.
3x!
Title: Re: wxSmithAui plugin: wxAui support for wxSmith
Post by: Ganbito on July 08, 2009, 03:38:30 pm
wxSmithAui just came to trunk!

Code::Blocks devs have merged recently wxAui branch (where wxSmithAui integration have been tested) with trunk, so now you can download wxSmithAui directly from there with the main distribution. By the way, download links on the first post of this topic were deleted by admin, but now they aren't needed.

For more information about the merge see this topic: wxAuiNotebook introduction in TRUNK (http://forums.codeblocks.org/index.php/topic,10810.0.html).

Thanks to all Code::Blocks devs but specially to MortenMacFly for the integration in svn.