What problems is cyberkoa having with the compile?
OK how about fixing the scrollbar in the properties? We need an horizontal scrollbar there. And if you can fix the length of those input boxes, even better.
Second, you might try replacing the buttons on the widgets pane for actual iconized buttons :)
If anybody has any idea how to improove properties panel I would be grateful :) (Maybe wxPropertiesPanel should be some solution but it currently works under wx 2.6 - not officially supporteed in C::B)
Quote from: rickg22Second, you might try replacing the buttons on the widgets pane for actual iconized buttons :)
Someone could help here. I'm poor graphic designe so I'm waiting for Your arts
cyberkoa: Remember that in TortoiseCVS you can "update special", and pick a specific TAG (C::B version) to use. It's better if you work on the 1.0beta-final, so at least we can be sure that it's not C::B source code that's causing the problems. (OH - and delete all the plugin dlls from both the devel and output subdirectories).
You must compile both C::B and wxSmith with same version of wxWidgets. Currently I'm using wx 2.4 and I don't know if it will work properly uunder wx 2.6
When you 're using event handlers for C::B generated events (like EVT_PROJECT_OPEN, etc) always call event.Skip() on the event object.
just a note until I write a proper "developer's guide"
just need to fix incompatibilities with new eeditor system
OK! So now that I've got everything compiling (for now & until a new CVS), how do I make a really cool 8) screenshot of the C::B running the wxSmith plugin? When I ran it, all I got was blank screens.
1. I created a wxWidgets project, but nothing shows (blank) in the Project tree (disturbing).
2. Nothing in Symbols and Watches.
3. I see the Resource tab with Property and Events tabs. The top has "Resources->wxWidgets application". Properties and Events are blank.
4. I see the Widgets tab at the bottom of the screen and it displays the basics.
Now what?
I have 1 question , under the Watch Tab , there is not symbols.
However, if I use the CB 1.0beta-final (the one I use to compile CB) , I open wxSmith.cbp . there are symbols under Watch .
Any idea ? Anyway , I just curious only. I put more attention to the wxSmith source code study .
Why not just grab upCase's? :wink:
Quote from: cyberkoa
I have 1 question , under the Watch Tab , there is not symbols.
However, if I use the CB 1.0beta-final (the one I use to compile CB) , I open wxSmith.cbp . there are symbols under Watch .
Any idea ? Anyway , I just curious only. I put more attention to the wxSmith source code study .
Hmm, I don't have any watches. Can You post here their names ? Maybe I've addeed something to wrong tree ;)
By the way - I've updated to wxNotebook interface - it should be available in anonymous cvs in few hours
void wxsWidget::BuildTree(wxTreeCtrl* Tree,wxTreeItemId Id,int Index)
{
wxString Name = GetInfo().Name;
Name = Name.Append(" - ");
Name = Name.Append(GetBaseParams().VarNotStored?
GetBaseParams().VarName:GetBaseParams().IdName);
....
}
My question is ,what is the purpose of having the flag VarNotStored in the struct wxsWidgetBaseParams.
Meaning , there is no symbols appear under tab "Symbol" (if I run in the developing version of CB)
Your thread already reached the third page. Maybe I should create a different forum for wxSmith? It seems like it's gonna be busy :mrgreen:
This must have to do with some events processed by wxSmith plugin, not being skipped (event.Skip()) so that they can be processed by other plugins too.
I mentioned it before and byo said he would look into it.
My question is ,what is the purpose of having the flag VarNotStored in the struct wxsWidgetBaseParams.
Quote from: cyberkoaQuote from: cyberkoa
My question is ,what is the purpose of having the flag VarNotStored in the struct wxsWidgetBaseParams.
I would like wxSmith to create dialogs and other resources in two ways - first one is to create XRC file and then to automatically manage code loading / event handling etc. Second way is to manage code wchich would create dialog without loading xrc. In this way each widget must have it's variable (just pointer to it's class) - it could be stored as a member of dialog's class (VarNotStored=false) or could be created locally inside funnction building dialog (VarNotStored=true) - using first one means that You want to use widget somewhere in class - read it's content or change it so it's good for edit fields check boxes etc. Second one means that You don't want this widget to be stored inside edialog's class - good for static widgets which won't change (and won't mess dialog's declaration).
Hmm, I hope I've explained that :oops: :)
Thx,understood. The flag indicate whether the widget is static widget (keep in xrc) or dynamics created using C++ code . Hmm ,this is important in code generation.
Still studying the source code.. shall ask question when see something not understand .. thx :D
Thx,understood. The flag indicate whether the widget is static widget (keep in xrc) or dynamics created using C++ code . Hmm ,this is important in code generation.
class MyDialog: public wxDialog
{
public:
MyDialog(...)
{
Widget = new wxStaticText(this,-1,"Hello world");
}
protected:
wxStaticText* Widget;
}
class MyDialog: public wxDialog
{
public:
MyDialog(...)
{
wxStaticText* Widget;
Widget = new wxStaticText(this,-1,"Hello world");
}
}
Okay guys, in case you didn't notice, I just created a new "RAD Plugins development" forum 8). You're free to expand your wxSmith questions in other threads. Just insert "Wxsmith: " before the specific question.
Uh... shouldn't you change the name to IsMember or something?
Quote from: cyberkoaThx,understood. The flag indicate whether the widget is static widget (keep in xrc) or dynamics created using C++ code . Hmm ,this is important in code generation.
Hmm, not exackly. The flag indicating whether dialgo uses XRC or should be inside dialog resource, not one widget.
Maybe will describe with a bit of code (example what would be generated from wxSmith;) ):
1). One widget with VarNotStored = falseCodeclass MyDialog: public wxDialog
{
public:
MyDialog(...)
{
Widget = new wxStaticText(this,-1,"Hello world");
}
protected:
wxStaticText* Widget;
}
2). One widget with VarNotStoredd = trueCodeclass MyDialog: public wxDialog
{
public:
MyDialog(...)
{
wxStaticText* Widget;
Widget = new wxStaticText(this,-1,"Hello world");
}
}
So if VarNotStored == true, it means that Variable for this widget will be created locally inside function creating dialog, VarNotStored == false means that it will be a member of class and will be acessible from other members in this class.
Hope I've explained this now :)
Uh... shouldn't you change the name to IsMember or something?
So if VarNotStored == true, it means that Variable for this widget will be created locally inside function creating dialog, VarNotStored == false means that it will be a member of class and will be acessible from other members in this class.
Isn't the local variable still available to other member functions due to the "this" linkup (just not as a member)? Otherwise, the var would be an invalid memory location--as it is released at the end of the function automatically (scope, delete is implied)--and the active dialog would continue pointing to these released memory locations (it doesn't since the pointer's reference counter > 0). Isn't there a mechanism to step throught the widgets of a window? Or is "VarNotStored" simply a way to separate direct access to widgets from indirect access, so that the programmer can concentrate on the direct items?
I agree the "isMember" might be a better var name.
Hmm, and another thing.
I currently have hard times during my study (need to pass all these exams etc. etc. ) so wxSmith won't be updated regularly :(
Hope You won't be angry :oops:
the student nowadays is very expert in C++ ! 8)
I am studing the wxSmith source code. byo , if you do not mind , I shall try to write some code on the defwidget for combobox , meaning add in additional widget option and submit those code to you for checking. If you feel that it is helpful , you may modify and commit to CVS . However, I have to mention earlier , I have just start using C++ a few months ago after 6 years never touching it because I found the wxwidgets.
I've review the latest wxSmith. There was some question about the display for properties a while back. Other than not emulating VC++, why not model the display on VC++ and use a row and column style display (wxGrid with wxGridCell... types) where row labels are the property name and the column displays the value(s) with an elipse button [don't know how to do] on items that expand to dialogs when more info is required or multiple selection are required (like style parameters), combobox selections for mutually exclusive items, and true/false combobox selections to replace checkboxes. This could:
1) allow the user to size the rowlabel and value columns removing concern about long labels and
2) let us setup the parameter display using a single standard resource for all widget types (a constant boolean array for each widget type would specify the parameters to display and record, another array could represent default values for each parameter).
Dunno, we need some brave warrior who dares compile C::B CVS with wx2.6. Thou shalt slay the red bug dragon! :P
wxWidgets v2.6.1 has been released
..Well the problem is that my mingw directory tree has the wx2.4 files...
for the unlikely case, that the above is too much for you,
you can download my binary version tooQuotesorry, removed from web
Hmm, Waiting for Your job :). But must say that some parts of code are not finished yet (f.ex. events sytem) and update of this code will be needed soon :).
Thx for Your interesting. Hmm, One of my idedas was to create RAD tyool which could be easily extended with new sets of widgets :).
http://www.geocities.com/jmsalli/propertygrid/ - it has already been done i think :). But need to wait for compatibility with wx 2.6. Hmm, maybe it has already been done, haven't read forum for some time :oops:
it seems that byo is too busy ... keep up the good work cyberkoa.
Good work cyberkoa :)
If you want, and byo agrees, I could add you as a developer for wxSmith.
So, byo, what do you think?
Yiannis.
Quote from: code1101it seems that byo is too busy ... keep up the good work cyberkoa.
Thanks :D just trying my best, still catching up with C++ that I hv stop using for 6 years.Quote from: mandravGood work cyberkoa :)
If you want, and byo agrees, I could add you as a developer for wxSmith.
So, byo, what do you think?
Yiannis.
Thanks for the offer :D I am willing to take a try if byo agrees. By the way, I shall send my code to byo to have a look first .
Still a beginner in developing project on CVS :oops:
Hello, everyone. It's been a while since I've been here because of these sleepless books-full nights and terrible exams-like days. Just give me few more days and I'll be back :D.
Cyberoka: BIG THX for Youre work. Cna You send me the source ? And maybe some description of problems You have with this widget.
and don't worry - I'm CVS-beginner too (started using it after gaining access to CodeBlocks' CVS). Buty If You don't mind I would like to work now like mandrav and rigkg22 at the beginning of their cooperation - You could send me the sourcee and I put this into CVS :). Hope it will change soon - I just need to get back to this project and prepare for new Coder :). And now ... argh, back to books :?
Cyberoka: BIG THX for Youre work. Cna You send me the source ?
Here are the files (link)
Finally, how can I commit the changes to CVS using Tortoise CVS?
I still having problem to commit to CVS ,
And I am rushing back to my home country Malaysia tomorrow morning , therefore, I have send my source to byo and hope that he can help to commit the changes.
Since I will be at my home country the next two weeks, I can't help much in wxSmith at these moment.
See you all then .. :)
Hope that change to wx 2.6 is permament ;)
I have problem with one bug after migrating to docking panels.
New Notebook page added to Manager for wxSmith uses wxSplitterWindow, but after startup andafter docking Manager, sash position is set to 0 or sth like that (top window and sash are hidden). I used additional wxPanel with one sizer as background window for page but it didn't work out. The only way to see both panels is to use SetSashGravity and manipulate with size of manager.
Any ideas ?
mandrav, I hv downloaded CB rc-1 and try , it works fine , but when I finished compile wxSmith , and try to run , it give me msg "Another CB process is running" , I hv tried to restart my PC , it give the same msg also.Uncheck "Settings->Environment->Allow only one running instance" ;)
so , I used back the final-beta version .
I am using winXP , wxwidgets-2.6.1
mandrav, I hv downloaded CB rc-1 and try , it works fine , but when I finished compile wxSmith , and try to run , it give me msg "Another CB process is running" , I hv tried to restart my PC , it give the same msg also.Uncheck "Settings->Environment->Allow only one running instance" ;)
so , I used back the final-beta version .
I am using winXP , wxwidgets-2.6.1
Yiannis.
Yes, I was asking myself what was the problem since in the final beta had no multiple instance settings.People used to find it annoying because the last instance's settings are actually saved. So you might edit options in an instance and another instance overwrite them...
Guys i have a question
How stable is wxsmith right now?
I want to edit some of the Codeblocks dialogs... can it be done currently? Or do I have to grab another resource editor?
Ok, let me handle on the standard widgets , I will try my best !
Unfortunately wxSmith isn't ready for bigger job yet. Currently it doesn't support many standard widgets (I hope that cyberkoa will help me with this :), he has already started working on it).
And stability... sometimes it crashes (when deleting widgets) but I have some problems with debugging - C::B has problems with paths (when running not in debug mode it runs properly but when running in debug it says there's no C::B executable) and I can't load symbol tables from wxSmith's dll, even after add-symbols... in gdb, backtrace doesn't show any function names (maybe anyone could help me with this)
I want to edit some of the Codeblocks dialogs...
And I just hope that anyone will use my plugin ;)
Hi, just a small list of features which were added recently:
- Drag Points - to move and size widgets with mouse :)
- Changed to wxPropertyGrid for editing properties - there are still some things to code but most of conversion has been done (there's still possibility to use old properties system - just need to add __NO_PROPGRGID to defines - but I haven't tested if it still works ;))
- Support for Dialogs, Frames and Panels
- Code generation on-the-fly (but not all objects generate valid code - f.ex. gridsizer)
All changes are in HEAD branch - I'll check if it will work also with VERSION_1_0 and if so, I'll update sources :D.
Unfortunately wx 2.6 needed (required by wxPropertyGrid)
Finally I got the latest CVS running, and see the wxSmith with wxPropertyGrid , cool ! :shock:
And the resizing feature , cool! :shock:
There are something I found out when I do some rough testing
1. The default selection for wxListBox and wxComboBox are missing - I will look into it today
2. When I click radio button (Insert) at widgets pallete , it seems like going into an infinate loop. - I will try to look into it later
I tested it yesterday midnight , have no time to look into the problem above.
I am coding a new widget wxBitMapButton , still in the progress to understand the wxSmith source with propgrid, hope to get it up as soon as possible.
byo , do I need to add a new property specially for the file path , or just leave it as string first ?
Hi, I've checked wxRadioBox already - it need additional properties to be created (I can take care of it). Hmm, can You commit these widgets with this crashable RadioBox ?
In C:\projects\codeblocks\codeblocks\src\plugins\contrib\wxSmith\defwidgets: "C:\Program Files\TortoiseCVS\cvs.exe" "-q" "add" "wxsdatepickerctrl.cpp" "wxsdatepickerctrl.h" "wxsradiobox.cpp" "wxsradiobox.h" "wxsradiobutton.cpp" "wxsradiobutton.h" "wxsscrollbar.cpp" "wxsscrollbar.h" "wxsspinbutton.cpp" "wxsspinbutton.h" "wxsspinctrl.cpp" "wxsspinctrl.h" "wxstreectrl.cpp" "wxstreectrl.h"
CVSROOT=:pserver:cyberkoa@cvs.sourceforge.net:/cvsroot/codeblocks
cvs [server aborted]: "add" requires write access to the repository
Error, CVS operation failed
One more thing to mention , the spinctrl work fine but have a little problem , I try to look into the source code of wxSmith but could not find the cause (a bit complicated). I guess is the wxwidgets problem , the DoGetSize function in wx/msw/spinctrl.cpp maybe return the wrong position.
The problem is very simple , spinctrl consists of 1 spinbutton and 1 textbox at the left .
When we select the spinctrl , the indication outline is drawn at the wrong position , which the left top corner at the left top corner of the spinbutton.
If you notice in the XRC sourcecode, the handlers for the distinct classes do all the processing to create new objects. Why not use the xrc code in the first place (or at least copy from it)?
I manage to add it , however, there is a problem where when we try to add , it cannot be seen because it takes the default size (very size) , user can only select it from the TreeViewCtrl .
Therefore, I try to hard code a minimum size (wxSize(10,10)) in the creation code and it shows with a viewable size , but have one problem , it cannot be resized
defwidgets\wxsspinctrl.cpp:23:1: pasting "LL" and "L"0"" does not give a valid preprocessing token
defwidgets\wxsspinctrl.cpp: In member function `virtual void wxsSpinCtrl::BuildExtVars()':
defwidgets\wxsspinctrl.cpp:23: error: `LL' undeclared (first use this function)
defwidgets\wxsspinctrl.cpp:23: error: (Each undeclared identifier is reported only once for each function it appears in.)
Hi Byo, I want to compile wxSmith with Unicode support but that isn't possible...
i wanted to learn how to work with wxSmith and tried to make a dialog with buttons.
on Button Click a wxTextCtrl should be updated with a new text.
1.) typo in wxButton->SetToolTip
then i noticed, that when i want to set a Tooltip for the Button, there is a typo.
It should insert a wxButton->SetToolTip() member function call,
but it inserts a wxButton->SetToolTop() instead,
which leads to a compiler error of course.
2.) EVENT Handling
i tried to use an event handling function for my button,
everything looks fine, there is an DECLARE_EVENT_TABLE() in the class definition
and an EVENT_TABLE in the implementation file. The app builds fine without errors
but the button-event handler function never gets called !?!
maybe you have an example and/or some documentation how this should work ?
Heh, You've found two bugs. Huh, wxSmith doesn't recognize properly if dialog loads from xrc or not8)
please
provide a some documentation
* which code does wxSmith generate and
* where does it update the code,
* where can i add my custom code
* ...
and a sample project in any case
so that a newbie can at least make a look how it *should* work,
...Heh, You've found two bugs ... I'll try to fix those bugs ...
-------------------
Error occured on Friday, October 7, 2005 at 15:03:46.
D:\Programme\CodeBlocks\codeblocks.exe caused an Access Violation at location 0153cef2 in module D:\Programme\CodeBlocks\share\codeblocks\plugins\wxsmith.dll Reading from location 00000020.
Registers:
eax=0147ad80 ebx=00b76848 ecx=01437f30 edx=00000020 esi=016120f0 edi=0022f2d8
eip=0153cef2 esp=0022f098 ebp=0022f140 iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010202
Call stack:
0153CEF2 D:\Programme\CodeBlocks\share\codeblocks\plugins\wxsmith.dll:0153CEF2 GetSDKVersionMinor
0153D2E5 D:\Programme\CodeBlocks\share\codeblocks\plugins\wxsmith.dll:0153D2E5 GetSDKVersionMinor
100A77A8 D:\TOOLS\wxmsw26_gcc_cb.dll:100A77A8 _ZN12wxEvtHandler21ProcessEventIfMatchesERK21wxEventTableEntryBasePS_R7wxEvent
100A7B6C D:\TOOLS\wxmsw26_gcc_cb.dll:100A7B6C _ZN16wxEventHashTable11HandleEventER7wxEventP12wxEvtHandler
100A8B49 D:\TOOLS\wxmsw26_gcc_cb.dll:100A8B49 _ZN12wxEvtHandler12ProcessEventER7wxEvent
0152C086 D:\Programme\CodeBlocks\share\codeblocks\plugins\wxsmith.dll:0152C086 GetSDKVersionMinor
100A77A8 D:\TOOLS\wxmsw26_gcc_cb.dll:100A77A8 _ZN12wxEvtHandler21ProcessEventIfMatchesERK21wxEventTableEntryBasePS_R7wxEvent
100A7B6C D:\TOOLS\wxmsw26_gcc_cb.dll:100A7B6C _ZN16wxEventHashTable11HandleEventER7wxEventP12wxEvtHandler
100A8B49 D:\TOOLS\wxmsw26_gcc_cb.dll:100A8B49 _ZN12wxEvtHandler12ProcessEventER7wxEvent
01526297 D:\Programme\CodeBlocks\share\codeblocks\plugins\wxsmith.dll:01526297
01523596 D:\Programme\CodeBlocks\share\codeblocks\plugins\wxsmith.dll:01523596
01523068 D:\Programme\CodeBlocks\share\codeblocks\plugins\wxsmith.dll:01523068
100A77A8 D:\TOOLS\wxmsw26_gcc_cb.dll:100A77A8 _ZN12wxEvtHandler21ProcessEventIfMatchesERK21wxEventTableEntryBasePS_R7wxEvent
100A7B6C D:\TOOLS\wxmsw26_gcc_cb.dll:100A7B6C _ZN16wxEventHashTable11HandleEventER7wxEventP12wxEvtHandler
100A8B49 D:\TOOLS\wxmsw26_gcc_cb.dll:100A8B49 _ZN12wxEvtHandler12ProcessEventER7wxEvent
1010D7E6 D:\TOOLS\wxmsw26_gcc_cb.dll:1010D7E6 _ZN8wxWindow16HandleMouseEventEjiij
1010FF59 D:\TOOLS\wxmsw26_gcc_cb.dll:1010FF59 _ZN8wxWindow13MSWWindowProcEjjl
10108B20 D:\TOOLS\wxmsw26_gcc_cb.dll:10108B20 _Z9wxWndProcP6HWND__jjl@16
77D18734 C:\WINDOWS\system32\USER32.dll:77D18734 GetDC
77D18816 C:\WINDOWS\system32\USER32.dll:77D18816 GetDC
77D189CD C:\WINDOWS\system32\USER32.dll:77D189CD GetWindowLongW
77D18A10 C:\WINDOWS\system32\USER32.dll:77D18A10 DispatchMessageW
77D2E097 C:\WINDOWS\system32\USER32.dll:77D2E097 IsDialogMessageW
77D3C6AB C:\WINDOWS\system32\USER32.dll:77D3C6AB IsDialogMessageA
1010803E D:\TOOLS\wxmsw26_gcc_cb.dll:1010803E _ZN8wxWindow17MSWProcessMessageEP6tagMSG
100E85B4 D:\TOOLS\wxmsw26_gcc_cb.dll:100E85B4 _ZN11wxEventLoop17PreProcessMessageEP6tagMSG
100E84F9 D:\TOOLS\wxmsw26_gcc_cb.dll:100E84F9 _ZN11wxEventLoop14ProcessMessageEP6tagMSG
100E8AE4 D:\TOOLS\wxmsw26_gcc_cb.dll:100E8AE4 _ZN11wxEventLoop8DispatchEv
100E8880 D:\TOOLS\wxmsw26_gcc_cb.dll:100E8880 _ZN11wxEventLoop3RunEv
101823DE D:\TOOLS\wxmsw26_gcc_cb.dll:101823DE _ZN9wxAppBase8MainLoopEv
004039AC D:\Programme\CodeBlocks\codeblocks.exe:004039AC
1004318F D:\TOOLS\wxmsw26_gcc_cb.dll:1004318F _Z14wxUninitializev
100B077C D:\TOOLS\wxmsw26_gcc_cb.dll:100B077C _Z7wxEntryP11HINSTANCE__S0_Pci
0040138A D:\Programme\CodeBlocks\codeblocks.exe:0040138A
0044669A D:\Programme\CodeBlocks\codeblocks.exe:0044669A
004011E7 D:\Programme\CodeBlocks\codeblocks.exe:004011E7
00401238 D:\Programme\CodeBlocks\codeblocks.exe:00401238
7C816D4F C:\WINDOWS\system32\kernel32.dll:7C816D4F RegisterWaitForInputIdle
-------------------
Error occured on Friday, October 7, 2005 at 15:09:01.
D:\Programme\CodeBlocks\codeblocks.exe caused an Access Violation at location 00000000 Reading from location 00000000.
Registers:
eax=00000000 ebx=00b76848 ecx=0148cf58 edx=0148a110 esi=016120f0 edi=0022f48c
eip=00000000 esp=0022f228 ebp=0022f244 iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010202
Call stack:
00000000
015B1989 D:\Programme\CodeBlocks\share\codeblocks\plugins\wxsmith.dll:015B1989 GetSDKVersionMinor
0153CEDB D:\Programme\CodeBlocks\share\codeblocks\plugins\wxsmith.dll:0153CEDB GetSDKVersionMinor
0153D2E5 D:\Programme\CodeBlocks\share\codeblocks\plugins\wxsmith.dll:0153D2E5 GetSDKVersionMinor
100A77A8 D:\TOOLS\wxmsw26_gcc_cb.dll:100A77A8 _ZN12wxEvtHandler21ProcessEventIfMatchesERK21wxEventTableEntryBasePS_R7wxEvent
100A7B6C D:\TOOLS\wxmsw26_gcc_cb.dll:100A7B6C _ZN16wxEventHashTable11HandleEventER7wxEventP12wxEvtHandler
100A8B49 D:\TOOLS\wxmsw26_gcc_cb.dll:100A8B49 _ZN12wxEvtHandler12ProcessEventER7wxEvent
0152C086 D:\Programme\CodeBlocks\share\codeblocks\plugins\wxsmith.dll:0152C086 GetSDKVersionMinor
100A77A8 D:\TOOLS\wxmsw26_gcc_cb.dll:100A77A8 _ZN12wxEvtHandler21ProcessEventIfMatchesERK21wxEventTableEntryBasePS_R7wxEvent
100A7B6C D:\TOOLS\wxmsw26_gcc_cb.dll:100A7B6C _ZN16wxEventHashTable11HandleEventER7wxEventP12wxEvtHandler
100A8B49 D:\TOOLS\wxmsw26_gcc_cb.dll:100A8B49 _ZN12wxEvtHandler12ProcessEventER7wxEvent
01526297 D:\Programme\CodeBlocks\share\codeblocks\plugins\wxsmith.dll:01526297
01523596 D:\Programme\CodeBlocks\share\codeblocks\plugins\wxsmith.dll:01523596
01523068 D:\Programme\CodeBlocks\share\codeblocks\plugins\wxsmith.dll:01523068
100A77A8 D:\TOOLS\wxmsw26_gcc_cb.dll:100A77A8 _ZN12wxEvtHandler21ProcessEventIfMatchesERK21wxEventTableEntryBasePS_R7wxEvent
100A7B6C D:\TOOLS\wxmsw26_gcc_cb.dll:100A7B6C _ZN16wxEventHashTable11HandleEventER7wxEventP12wxEvtHandler
100A8B49 D:\TOOLS\wxmsw26_gcc_cb.dll:100A8B49 _ZN12wxEvtHandler12ProcessEventER7wxEvent
1010D7E6 D:\TOOLS\wxmsw26_gcc_cb.dll:1010D7E6 _ZN8wxWindow16HandleMouseEventEjiij
1010FF59 D:\TOOLS\wxmsw26_gcc_cb.dll:1010FF59 _ZN8wxWindow13MSWWindowProcEjjl
10108B20 D:\TOOLS\wxmsw26_gcc_cb.dll:10108B20 _Z9wxWndProcP6HWND__jjl@16
77D18734 C:\WINDOWS\system32\USER32.dll:77D18734 GetDC
77D18816 C:\WINDOWS\system32\USER32.dll:77D18816 GetDC
77D189CD C:\WINDOWS\system32\USER32.dll:77D189CD GetWindowLongW
77D196C7 C:\WINDOWS\system32\USER32.dll:77D196C7 DispatchMessageA
100E8515 D:\TOOLS\wxmsw26_gcc_cb.dll:100E8515 _ZN11wxEventLoop14ProcessMessageEP6tagMSG
100E8AE4 D:\TOOLS\wxmsw26_gcc_cb.dll:100E8AE4 _ZN11wxEventLoop8DispatchEv
100E8880 D:\TOOLS\wxmsw26_gcc_cb.dll:100E8880 _ZN11wxEventLoop3RunEv
101823DE D:\TOOLS\wxmsw26_gcc_cb.dll:101823DE _ZN9wxAppBase8MainLoopEv
004039AC D:\Programme\CodeBlocks\codeblocks.exe:004039AC
1004318F D:\TOOLS\wxmsw26_gcc_cb.dll:1004318F _Z14wxUninitializev
100B077C D:\TOOLS\wxmsw26_gcc_cb.dll:100B077C _Z7wxEntryP11HINSTANCE__S0_Pci
0040138A D:\Programme\CodeBlocks\codeblocks.exe:0040138A
0044669A D:\Programme\CodeBlocks\codeblocks.exe:0044669A
004011E7 D:\Programme\CodeBlocks\codeblocks.exe:004011E7
00401238 D:\Programme\CodeBlocks\codeblocks.exe:00401238
7C816D4F C:\WINDOWS\system32\kernel32.dll:7C816D4F RegisterWaitForInputIdle
Hmmmmmmmm.... it seems very much like an uninitialized pointer... have you checked for "this" being nulll and such?
//(*Initialize(XRCtest)
wxXmlResource::Get()->LoadDialog(this,parent,_T("XRCtest"));
FlexGridSizer1 = XRCCTRL(*this,"",wxFlexGridSizer);
Notebook1 = XRCCTRL(*this,"ID_NOTEBOOK1",wxNotebook);
Panel3 = XRCCTRL(*this,"ID_PANEL3",wxPanel);
Panel1 = XRCCTRL(*this,"ID_PANEL1",wxPanel);
//*)
xrctest.cpp:12: error: invalid static_cast from type `wxWindow*' to type `const wxFlexGridSizer*'
Process terminated with status 1 (0 minutes, 1 seconds)
I added a XRC Dialog, and here is the code produced.Code//(*Initialize(XRCtest)
wxXmlResource::Get()->LoadDialog(this,parent,_T("XRCtest"));
FlexGridSizer1 = XRCCTRL(*this,"",wxFlexGridSizer);
Notebook1 = XRCCTRL(*this,"ID_NOTEBOOK1",wxNotebook);
Panel3 = XRCCTRL(*this,"ID_PANEL3",wxPanel);
Panel1 = XRCCTRL(*this,"ID_PANEL1",wxPanel);
//*)
Here is the error produced. This is a standard wxWidgets DLL app with RC2 & wxWidgets 2.6.x & winxp:Codexrctest.cpp:12: error: invalid static_cast from type `wxWindow*' to type `const wxFlexGridSizer*'
Process terminated with status 1 (0 minutes, 1 seconds)
Any idea what can cause this? BTW good job on the wxSmith. It has some issues with repainting when dragging. It changes the area to black. Still good job.
jmccay
I have created a page on the wiki under tutorials called "WxSmith Tutorial & Pointers". I only filled in a pointer, but it's a good starting place for tutorial on using wxSmith.
jmccay
.
.
.
StatusBar1 = new wxStatusBar(this, ID_STATUSBAR1, 0, _T("ID_STATUSBAR1"));
StatusBar1. (don't show the properties of this object)
.
.
.
It's very difficult to program with GUI interfaces, without these tricks.
the only way to let the buttons and other stuff appear in this situation is to right click on the item and choose"send back" ,by using this method==================
when you run the application when you move your mouse cursor over a place that the item is located! by the time the mouse hovers on the item it shows up! meaning , that all of the items are invisible until you move the cursor over the object/item you have used in the form!
by the way please notice that , when you use "sendBack" on an item in this situation (using a bitmap as background of your application), you can not just click on that item easily! i mean for example you place a button on your form!(on a bitmap picture),and you send it back, then you want to add sth to the code specific to the button!(for example wana add a new function or write Close(),what ever you like), wana double click on it and then expect seeing the source code page turned up! but to your surrprise nothing works again !(from properties pane, you cant use a new handler!i dont know Why!?!!)
i really would like o know the cause , and how to fix it if possible, and if there is noway for it now, i would really appreciate implementing such a functionality in WxSmith .
by the way how is it possible to add our own custom menu bar !? again imagin i m planing to give my application a look and feel of Mac Os x under different OSes! how to achieve that ?
would you sth about this Option,;customized menu and theme , and Other stuff ?
(just let the user decide to use a default menu bar or no define its own bar, just like Microsoft Visual Studio , that you can do such a thing in a Properties pane of the Window!)
hello, while working wth wxsmith,i bumped into a problem tha id like to consult with you guys .
why isnt it possible to add a bitmap picture as a background of app
in a wxpanel and meanwhile be able to add buttons,wxchoice and etc so that they be visible(they can be seen )!?
and why a bitmap button in this situation doesn't function!?
void SomeFrame::OnPaint(wxPaintEvent& event)
{
wxPaintDC dc( this );
dc.DrawBitmap( m_SomeBitmap, 0, 0, true );
}
by the way how is it possible to add our own custom menu bar !? again imagin i m planing to give my application a look and feel of Mac Os x under different OSes! how to achieve that ?
would you sth about this Option,;customized menu and theme , and Other stuff ?
(just let the user decide to use a default menu bar or no define its own bar, just like Microsoft Visual Studio , that you can do such a thing in a Properties pane of the Window!)
And also , is there any way to insert a flash object and make it function as button! lets say using a flash button in wxsmith, sth just like bitmap button! if not can you implement such a thing in adoring Wxsmith?
hi byo,
for some time now i'm using some icons for the sizers which i made myself. i don't presume to be a great artist, but i think they work a little bit better than the original ones, better legible. the idea was that all sizer items and similar would be alike and clearly different from al the rest of the widgets icons. so i took up the red and made them all red, i gave them similar sizes, and some more changes...
they work fine for me, i attached them in a .rar , feel free to take a look at them and maybe use them as official ...
greetings from asturias
tanx byo for your help , the reason , i posted such a thing here was that , i thought , they could be implemented in Wxsmith ! why ? cuz again i though they are a must have and you forgot to add them to the Wxsmith project !!hello, while working wth wxsmith,i bumped into a problem tha id like to consult with you guys .
why isnt it possible to add a bitmap picture as a background of app
in a wxpanel and meanwhile be able to add buttons,wxchoice and etc so that they be visible(they can be seen )!?
and why a bitmap button in this situation doesn't function!?
Hmm, you can do it it by adding handler for EVT_PAINT event. Let's say that you have bitmap in m_SomeBitmap variable, code similar to this should work:Codevoid SomeFrame::OnPaint(wxPaintEvent& event)
{
wxPaintDC dc( this );
dc.DrawBitmap( m_SomeBitmap, 0, 0, true );
}
Putting some bitmap button or anything else at the bottom is rather a workaround and trying to put one item on another causes strange effect on windows (for example items are drawn in one order but process mouse events in opposite).Quoteby the way how is it possible to add our own custom menu bar !? again imagin i m planing to give my application a look and feel of Mac Os x under different OSes! how to achieve that ?
would you sth about this Option,;customized menu and theme , and Other stuff ?
(just let the user decide to use a default menu bar or no define its own bar, just like Microsoft Visual Studio , that you can do such a thing in a Properties pane of the Window!)
wxWidgets doesn't provide alternative to standard menus by default. There could be some some implementations somewhere on the net but I haven't seen that.QuoteAnd also , is there any way to insert a flash object and make it function as button! lets say using a flash button in wxsmith, sth just like bitmap button! if not can you implement such a thing in adoring Wxsmith?
Do you mean the flash used in web sites? If so then quick answer: no. Even web browsers need plugins for this since decoding flash is a huge challenge.
And I would almost forgot. Thsi topic was related to development process of wxSmith, not developing using wxSmith. It should be posted somewhere in the "users forums".
BTW. Why this post is "in the name of God" ?
Regards
BYO
well by saying the flash buttons , i mean a button made using some flash button creation software such as Armada flash suit or adobe Flash Cs3!( i wonder if you saw KmPlayer, the latest version, it uses such buttons if think!), so that you can use them in your project !the mouse hovers,and it changes ! you know that !
(if again these things need to use plugins , tell me please! )
I've been looking at the wxWidgets sample code and found a quite useful widget for a project I have in mind: wxFilePicker. Unfortunately it seems that this widget is not available/supported in wxSmith; am I right? or am I missing something?
I hope wxSmith can write code like this:
I see.I hope wxSmith can write code like this:There's one problem with enums - if you mix two or more resources in one aplication you may have ids that are same.
Index: src/plugins/contrib/wxSmith/wxwidgets/wxscontainer.cpp
===================================================================
--- src/plugins/contrib/wxSmith/wxwidgets/wxscontainer.cpp (revision 5440)
+++ src/plugins/contrib/wxSmith/wxwidgets/wxscontainer.cpp (working copy)
@@ -215,7 +215,7 @@
Codef(_T("%sFit(%O);\n"),ChildAccessPrefix.c_str());
}
- Codef(_T("%sSetSizeHints(%O);\n"),ChildAccessPrefix.c_str());
+ //Codef(_T("%sSetSizeHints(%O);\n"),ChildAccessPrefix.c_str());
}
}
SizeTestFrame::SizeTestFrame(wxWindow* parent,wxWindowID id)
{
//(*Initialize(SizeTestFrame)
Create(parent, id, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("id"));
//*)
}
SizeTestFrame::SizeTestFrame(wxWindow* parent,wxWindowID id)
{
//(*Initialize(SizeTestFrame)
Create(parent, id, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("id"));
SetClientSize(wxSize(300,200));
//*)
}
SizeTestFrame::SizeTestFrame(wxWindow* parent,wxWindowID id)
{
//(*Initialize(SizeTestFrame)
wxBoxSizer* BoxSizer1;
Create(parent, id, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("id"));
SetClientSize(wxSize(300,200));
BoxSizer1 = new wxBoxSizer(wxHORIZONTAL);
SetSizer(BoxSizer1);
BoxSizer1->SetSizeHints(this);
//*)
}
SizeTestFrame::SizeTestFrame(wxWindow* parent,wxWindowID id)
{
//(*Initialize(SizeTestFrame)
wxBoxSizer* BoxSizer1;
Create(parent, id, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("id"));
SetClientSize(wxSize(300,200));
BoxSizer1 = new wxBoxSizer(wxHORIZONTAL);
SetSizer(BoxSizer1);
BoxSizer1->SetSizeHints(this);
//*)
SetClientSize(wxSize(300,200));
}
Just added it in my local copy, will commit this later.
Just added it in my local copy, will commit this later.
Done (svn r5986).