#58 Standardize the control properties


At present the controls property names are slightly haphazard which gives an unprofessional appearance.

For example:

Tree Control Styles
Notebook Styles
Edit Style

In the first example the word control is used, but not in the second two examples. In the first two examples the word styles is used, but not in the last example. This occurs all over the place.

Some controls have a property Caption, while others have a property Label which does the same thing which makes it harder for users to spot instantly the property they need.

The two dialogs Single and Multiple Choice were obviously derived straight from Message dialog and even retain the property name Message Dialog Style which again is inconsistant.

Some controls have a Validator property which brings up an editor, some have the same property but it does nothing.

Other controls such as the Tree and TreeList controls have style flags which don't exist in the standard distribution and although these don't generate any code this will be confusing for a user who is trying to find the meaning of these flags and wondering why they do nothing.


  • Sof.T

    Logged In: YES
    Originator: YES

    In a follow up to the above comments, here are a few more which I have come across in the course of writing my book

    Edit Control has value Validator
    StaticText Control has value Validator Code (does static text use validators?) It has no editor

    Controls that have a validator need to have two extra properties

    Validator Include List
    Validator Exclude List

    This are editable string properties that will be converted into a wxArrayString and added to the control.

    Edit Control has value MaxLength
    Memo has value Maximum Length

    Both Edit control and Memo have a property Edit Style, should Memo have Memo Style?

    On Edit control if load from file has been chosen then you cannot edit strings. The load from file over rides this.

    wxFrame many base methods such as Background Colour not supported.

    wxSTC is crippled by lacking features.

    wxHyperlink Control doesn't support the alignment flags or default style.
    wxHyperlink Control has Property Wx_URL this is inconsistent with the other properties, should be URL or Url.

    wxButton button style No Border.
    wxBitmap button ability to set other bitmaps for other states.

    wxToggleButton needs property Pressed as a true or false.

    wxSpinButton has no Value property which it needs.

    wxStaticText has a property Label.
    wxCheckBox has a property Caption.

    wxRadioButton is missing flag wxRB_USE_CHECKBOX.

    wxComboBox has property Edit Styles as well as Combo Styles. The only edit style that makes sense is wxTE_PROCESS_ENTER which should be moved to the Combo Styles property.

    wxComboBox could do with an Index property to bring it in line with wxChoice. This would over ride the Text property and vice versa.

    When selecting multiple items the select rectangles are the same colour as a form with no background. They get lost on controls like radio buttons. Maybe they need to be two colours e.g. Dark Grey with a Light Grey border.

    Double clicking on controls that don't have a click function causes an error dialog to appear.
    Double clicking on menu item should open up the menu editor.

    Dragging and dropping buttons on the toolbar changes their order on the designer but not on the compiled program. Unless the project is closed and reopened, but then controls are occasionally placed in the wrong position, e.g. stacked under each other.

    wxToolbar doesn’t support wxTB_BOTTOM, wxTB_RIGHT or wxTO_NO_TOOLTIPS

    wxToolbar is drawn dark grey, when a project is reopened it is then occasionally drawn light grey

    wxToolbar if components are placed on the toolbar, then the style is changed to wxTB_TEXT, the components are shifted up, when a separator is added and made almost invisible. Other controls such as Edit, RadioBox and CheckBox are made tiny about 7 pixels high and it is impossible to resize them.

    wxMenuBar has a caption property? Why?

    wxMenuBar if item File History is selected, then deleted, the code

        wxFileHistory *m_fileHistory; // the most recently opened files
        wxConfig *m_fileConfig; // Used to save the file history (can be used for other data too)

    is left behind in .h file

    wxFileOpenDialog File style called wxCHANGE_DIR etc, why not WXFD_CHANGE_DIR as in other controls?

    wxFD_PREVIEW not supported.

    Dir Dialog doesn’t support flag wxDD_DIR_MUST_EXIST or wxDD_CHANGE_DIR

    wxListCtrl has an Items property, but this doesn’t open an editor and appears to be unused.



Cancel   Add attachments