Page 1 of 1

bugs in wxCrafter samples

Posted: Sun Sep 29, 2013 9:13 am
by zaphod
Eran,
It was easy to follow the first sample but the second has errors in its description. Certain steps are omitted, which is a nightmare for a novice. In short the wxDataViewCtrl sample is no good. There is even a screen that says "leave this field empty its bugged" -- what on earth does that mean? Is it bugged or has bugs? The meanings are VERY different. Either way it is NOT good, nor ready for public consumption.

I have used Codelite for a number of years now, but I'm surprised at the difficulty I'm finding with using WxCrafter.

My first impression is that it isn't much of a conceptual abstraction from wxWidget code. For example it isn't at all clear what a wxDataViewCtrl can do and why I would even try the example. I have the Julian Smart book but it is of little use since wxDataViewCtrl isn't mentioned at all.

Codelite has five project types that involve wxWidgets, however, it is unclear which of the five might server a particular purpose. There are two for wxCrafter alone -- again, how is one to know what to choose for a particular application?

More samples please, but most importantly, ones that have been hand checked.

p.s. In my own circumstances a simple example that showed the use of wxConfigBase would be most helpful...

Re: bugs in wxCrafter samples

Posted: Sun Sep 29, 2013 6:35 pm
by eranif
It was easy to follow the first sample but the second has errors in its description. Certain steps are omitted
Can you please elaborate on which description errors you encountered?
Which steps are omitted?
zaphod wrote:There is even a screen that says "leave this field empty its bugged" -- what on earth does that mean? Is it bugged or has bugs? The meanings are VERY different
This bug was fixed 6 months ago, the tutorial was not. Running the sample along with wxCrafter would have revealed you this fact (the buggy field was removed)
Either way it is NOT good, nor ready for public consumption
The documentation or wxCrafter itself? I can agree that that both should be improved (the plugin is constantly improving, which I can't say is true for the documentation...)
I will try and update the wxDVC tutorial
zaphod wrote:My first impression is that it isn't much of a conceptual abstraction from wxWidget code. For example it isn't at all clear what a wxDataViewCtrl can do and why I would even try the example. I have the Julian Smart book but it is of little use since wxDataViewCtrl isn't mentioned at all.
This is not wxCrafter job to explain you why you should be using wxDVC (or any other control for that matter).
If the book is not up to date, and does not include new controls, you should refer to the official documentation (online) which can be found here:
wxDataViewCtrl documentationl
wxWidgets docs main page
zaphod wrote:There are two for wxCrafter alone -- again, how is one to know what to choose for a particular application?
You should have a bit of wxWidgets knowledge before working with wxWidgets (forgive me, I am not familiar with your skill set)
In general, codelite has 2 templates for wxCrafter - the first is for making a Dialog based application (i.e. the main window is derived from wxDialog) , and the second for creating a Frame based application (i.e. the main window is derived from wxFrame)
zaphod wrote:p.s. In my own circumstances a simple example that showed the use of wxConfigBase would be most helpful...
wxConfigBase is not a UI element, and thus its hard to visualy display it inside wxCrafter

The official documentation have a code snippet that shows how to use wxConfig*:
http://docs.wxwidgets.org/3.0.0/classwx ... _base.html

Also, you might also want to play around with wxWidgets samples applications to get the hang of what the controls is about (I think that reading the samples source file is the best way to get yourself famliliarize with wxWidgets)

Eran

Re: bugs in wxCrafter samples

Posted: Sun Sep 29, 2013 9:17 pm
by zaphod
Eran,
In screen two of the wxDataViewCtrl sample boxSizer13 has to be added (manually) before it is possible to select the wxDataViewCtrl. A novice user will be stumped at this point. Perhaps wxCrafter is intended as and aid for experienced wxWidgets users and not for novices? The "Hello World" sample is quick and satisfying but there are no subsequent examples that build on the small base of knowledge acquired from it.

By contrast the wxSmith tutorials seem to have a graded succession of tutorial examples: http://wiki.codeblocks.org/index.php?ti ... _tutorials

My experience is mostly writing old fashioned, non-object-oriented, C code for graphics applications using OpenGL and associated shader code (it would be nice if Codelite supported GLSL). I was hoping to be able to quickly place a GUI wrapper around some of my existing projects which are commonly just console applications using gcc. In particular, I have a console project that I want a friend to use which has 15 numerical parameters -- a very simple UI task.

I'm somewhat at a crossroads. I started using Codelite a number of years ago largely because I wanted cross-platform development for Windows and Linux (though now I find myself developing only for Linux). I think at that time Codeblocks was in its infancy.

It is clearly time I moved on from console applications and wxWidgets seems like the way to go, even though I don't need cross-platform facilities. I'm reluctant to switch from Codelite to Codeblocks because of my familiarity with Codelite -- but as you can tell, I'm tempted because it seems wxSmith is more mature than wxCrafter.

Clive McCarthy (Zaphod)

Re: bugs in wxCrafter samples

Posted: Sun Sep 29, 2013 9:48 pm
by eranif
zaphod wrote:Eran,
In screen two of the wxDataViewCtrl sample boxSizer13 has to be added (manually) before it is possible to select the wxDataViewCtrl. A novice user will be stumped at this point. Perhaps wxCrafter is intended as and aid for experienced wxWidgets users and not for novices? The "Hello World" sample is quick and satisfying but there are no subsequent examples that build on the small base of knowledge acquired from it.

By contrast the wxSmith tutorials seem to have a graded succession of tutorial examples: http://wiki.codeblocks.org/index.php?ti ... _tutorials

My experience is mostly writing old fashioned, non-object-oriented, C code for graphics applications using OpenGL and associated shader code (it would be nice if Codelite supported GLSL). I was hoping to be able to quickly place a GUI wrapper around some of my existing projects which are commonly just console applications using gcc. In particular, I have a console project that I want a friend to use which has 15 numerical parameters -- a very simple UI task.

I'm somewhat at a crossroads. I started using Codelite a number of years ago largely because I wanted cross-platform development for Windows and Linux (though now I find myself developing only for Linux). I think at that time Codeblocks was in its infancy.

It is clearly time I moved on from console applications and wxWidgets seems like the way to go, even though I don't need cross-platform facilities. I'm reluctant to switch from Codelite to Codeblocks because of my familiarity with Codelite -- but as you can tell, I'm tempted because it seems wxSmith is more mature than wxCrafter.

Clive McCarthy (Zaphod)
Thanks for the feedback, I will upload some more examples for more inexperienced users
In the mean time, you can ask here any question you need and I will probably be able to assist you ;)

Eran

Re: bugs in wxCrafter samples

Posted: Mon Sep 30, 2013 2:44 am
by zaphod
Eran,
Since you offer and, based on my very limited knowledge of wxWidgets, this is what I want to be able to do and how I'd go about it:

I have a C console application that takes 15 numerical parameters. I think a basic wxDialog based + wxCrafter project should work. The UI would be a single dialog with a wxListCtrl that has 15 rows with labels and two buttons "OK" and "Cancel". The wxListCtrl would be pre-populated with the last used values of the parameters. The underlying application code would be responsible for saving and restoring these values, perhaps using wxConfigFile but not if it is too cumbersome.

Each of the list's cells event would be connected to update the global parameter present in my current code. Bounds checking for the input could be an enhancement for the future using a pop-up dialog box for invalid entries. When the user presses "OK" the program executes. Again, to accomplish something simple, the sundry printf() statements that exist in my current code would just appear on the regular console. In the long run these would appear in a 'proper' scrolling window. I gather, from the last of the wxSmith tutorials, that adapting printf() output isn't quite as simple as one might wish it to be...

Thus far, I quickly get stuck figuring how to give my single column wxListCtrl its labels. WxCrafter has a long properties list for wxListCtrl but no sign of where labels can be entered.

Clive.

Re: bugs in wxCrafter samples

Posted: Mon Sep 30, 2013 7:55 am
by eranif
So from what I read here you need a dialog with a table + 2 buttons?
You could use several controls for presenting the UI:
- wxPropertyGrid
- wxListCtrl
- wxDataViewListCtrl
- wxGrid

If your row number is bound to a reasonable number, I would use wxDataViewListCtrl (you can think of it as the "new generation" of wxDataViewListCtrl)
if you are going to have an unlimited number of rows, use wxGrid

I have uploaded a short video that shows how to create a wxDialog application with wxDataViewListCtrl and a wxTextCtrl functioning as a log windows.
It shows also how to connect an event to wxDataViewListCtrl and handle it in the code
wxDialog + wxDataViewListCtrl on YouTube

While ago I also uploaded another video to YouTube that shows how to use wxRibbonbar (its not what you are looking for, but it shows how to use wxCrafter):
wxRibbonBar example on YouTube

HTH,
Eran