Code::Blocks

User forums => General (but related to Code::Blocks) => Topic started by: Aaron on March 15, 2015, 05:41:11 pm

Title: Using wxTAB_TRAVERSAL, wxWidgets, isn't working & prevents data entry.
Post by: Aaron on March 15, 2015, 05:41:11 pm
I'm using Code Blocks 13.12 with wxWidgets 3.0.2.

Should using wxTAB_TRAVERSAL be as easy as checking the box (in Resources, wxFrame/control attributes) for each control, to allow Tab stepping between frame controls?  This is a very fundamental common feature I'm finding few comments about.

Why would having wxTAB_TRAVERSAL checked for a text box prevent characters from being entered into the fiedls (text box, etc)?

Apart from not accepting input, another noticeable difference between having wxTAB_TRAVERSAL set vs un-set is, when wxTAB_TRAVERSAL is set, the sound generated by clicking the non-modal dialog/window is not sounded.

The other control attributes set under style or extra style operate perfectly.
I haven't found any specific instructions or working examples.  Further I have seen no method to set Tab Index/Tab Order, concerning.
(http://www.buy-fla.com/tab.jpg)
Assistance and advice appreciated.
Title: Re: Using wxTAB_TRAVERSAL, wxWidgets, isn't working & prevents data entry.
Post by: oBFusCATed on March 15, 2015, 07:24:56 pm
Are you have problems in your program which is made with wxsmith or tab traversal in codeblocks doesn't work?
It is not very clear from your post what you're talking about.
Title: Re: Using wxTAB_TRAVERSAL, wxWidgets, isn't working & prevents data entry.
Post by: Aaron on March 15, 2015, 08:01:46 pm
Honestly, I don't know where the problem lies.

I created a simple program using code blocks with wxWidgets installed.  The controls I'm referring to are controls on a wxFrame.
I'm a bit new with CodeBlock & wxWidgets, please excuse my imperfect references/terminology to the IDE features.

What I am talking about is the common keyboard Tab feature everyone uses to skip quickly between windows controls like text boxes, buttons, icons, etc. (found in most every pc app and web apps)  In projects made with this IDE the tab feature does not operate, and prevents normal operation of text controls when the feature is enabled for the frame and it's controls.
Title: Re: Using wxTAB_TRAVERSAL, wxWidgets, isn't working & prevents data entry.
Post by: oBFusCATed on March 15, 2015, 10:52:31 pm
So you're having problems with your program that is generated by wxSmith.
wxSmith is the CB plugin that make it possible to edit the UI.

I don't know what is the problem. But keep in mind that wxSmith has not been fully ported (as far as I know) to generate full featured wxwidgets 3.0 code.
The best thing you can do is:
1. inspect the wxwidgets docs about how tab traversal works
2. inspect the generated code if it follows the docs
3. edit the code without touching anything in the ui editors, so it won't override your code, to make it work
4. come back here with your findings if something in wxsmith needs to be improved

Another option is to try a night build to see if this is some bug that has been fixed.
Title: Re: Using wxTAB_TRAVERSAL, wxWidgets, isn't working & prevents data entry.
Post by: Aaron on March 16, 2015, 05:38:00 am
I'm leaning this obFuscated.  I'm trying to adopt a permanent IDE for C++ GUI development, without using QT, U++, or MS-VS, so here I am.

We have a list of important features & functions I need to test (ie. serial comm, tab form navigation, SQLite, calendar ctrl, MP3 file play, & image file display) that will be elements of a few health care and industrial control applications I must port from old VS & VB6 to C++ and Code Blocks with wxWidgets hopefully.  QT was looking good, but it has no easy path of app deployment and dependent file identification.  And wow, CB/WX projects are difficult to share on multiple PCs, maybe this explains why there are not hundreds of example projects like the others.

Anyway, I've learned that one must use a child wxPanel I believe 'with' a wxFrame to provide the wxTAB_Traversal functionality by default.  These two look at bit redundant to my untrained eye, I have more to learn.  (not sure why the developers wouldn't have ONE frame or panel object to accomplish this) Deleting the frame and keeping the panel rewarded me with build errors.