|
WINDEX
|
A widget where user can select which panel to display by clicking a tab button. More...
#include <wex.h>
Public Member Functions | |
| tabbed (gui *parent) | |
| void | add (const std::string &tabname, gui &panel) |
| add panel that can be displayed More... | |
| void | select (int i) |
| select panel to displayed | |
| int | select () const |
| zero-based index of panel currently selected | |
| void | tabWidth (int w) |
| set width of tab buttons | |
| void | tabChanging (std::function< void(int tabIndex)> f) |
| register function to call when tab is about to change This is only called when user changes the tab, not when app code call select() function Zero-based new tab index passed to registered function when called | |
| void | tabChanged (std::function< void(int tabIndex)> f) |
| register function to call when tab has changed This is only called when user changes the tab, not when app code call select() function Zero-based tab index passed to registered function when called | |
Public Member Functions inherited from wex::panel | |
| panel (gui *parent) | |
Public Member Functions inherited from wex::gui | |
| gui () | |
| Construct top level window with no parent. More... | |
| gui (gui *parent, const char *window_class="windex", unsigned long style=WS_CHILD, unsigned long exstyle=WS_EX_CONTROLPARENT) | |
| Construct child of a parent. More... | |
| void | child (gui *w) |
| register child on this window | |
| children_t & | children () |
| get vector of children | |
| gui * | parent () |
| gui * | find (int id) |
| find child window with specified id | |
| void | focus () |
| void | bgcolor (int color) |
| Change background color. More... | |
| void | nobgerase () |
| void | enable (bool f=true) |
| Enable/Disable, default enable. | |
| bool | isEnabled () const |
| void | fontHeight (int h) |
| Change font height for this and all child windows. | |
| void | fontName (const std::string &name) |
| void | icon (const std::string &iconfilename) |
| Change icon. More... | |
| void | cursor (char *cursorID) |
| int | id () |
| int | bgcolor () const |
| void | textColor (int c) |
| Set text color. More... | |
| void | text (const std::string &text) |
| std::string | text () const |
| void | scroll (bool fHoriz=true) |
| Add scrollbars. More... | |
| void | scrollRange (int width, int height) |
| Set the scrolling range. More... | |
| sMouse | getMouseStatus () |
| Get mouse status. More... | |
| void | run () |
| Run the windows message loop. More... | |
| void | tooltip (const std::string &text, int width=0) |
| Add tooltip that pops up helpfully when mouse cursor hovers over widget. More... | |
| virtual LRESULT | WindowMessageHandler (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) |
| virtual void | show (bool f=true) |
| Show window and all children. | |
| void | showModal (gui &appWindow) |
| Show this window and suspend all other windows interactions until this is closed. More... | |
| void | endModal () |
| Stop modal interaction and close window. | |
| void | update () |
| force widget to redraw completely More... | |
| void | move (const std::vector< int > &r) |
| Move the window. More... | |
| void | size (int w, int h) |
| Change size without moving top left corner. More... | |
| void | move (int x, int y) |
| Change position without changing size. More... | |
| void | move (int x, int y, int w, int h) |
| std::vector< int > | size () |
| Size of window client area. More... | |
| std::vector< int > | lefttop () |
| eventhandler & | events () |
| Get event handler. | |
| HWND | handle () |
| get window handle | |
| void | delete_list (std::vector< HWND > *list) |
| set delete list for when gui is detroyed | |
| void | setfont (LOGFONT &logfont, HFONT &font) |
| change font for this and all child windows | |
| void | setAsyncReadCompleteMsgID (int id) |
Additional Inherited Members | |
Protected Member Functions inherited from wex::gui | |
| void | Create (HWND parent, const char *window_class, DWORD style, DWORD exstyle=0, int id=0) |
| Create the managed window. More... | |
| void | font (LOGFONT &logfont, HFONT &font) |
| get font details More... | |
| void | createNewFont () |
| Replace font used by this and child windows from logfont. | |
| virtual void | draw (PAINTSTRUCT &ps) |
| int | NewID () |
| Create new, unique ID for gui element. More... | |
| int | scrollMove (SCROLLINFO &si, int code) |
Protected Attributes inherited from wex::gui | |
| HWND | myHandle |
| gui * | myParent |
| eventhandler | myEvents |
| int | myBGColor |
| int | myTextColor |
| HBRUSH | myBGBrush |
| LOGFONT | myLogFont |
| HFONT | myFont |
| std::vector< HWND > * | myDeleteList |
| std::string | myText |
| int | myID |
| std::vector< gui * > | myChild |
| gui elements to be displayed in this window | |
| bool | myfModal |
| true if element is being shown as modal | |
| bool | myfEnabled |
| true if not disabled | |
| bool | myfnobgerase |
| HWND | myToolTip |
| unsigned int | myAsyncReadCompleteMsgID |
| handle to tooltip control for this gui element | |
| char * | myCursorID |
| bool | myfScrollHoriz |
A widget where user can select which panel to display by clicking a tab button.
Usage:
// construct top level window
gui& form = wex::maker::make();
form.move({ 50,50,400,400});
form.text("Tabbed Panel demo");
// construct tabbed panel
tabbed& tabs = maker::make<tabbed>( form );
tabs.move( 50,50, 300, 200 );
// add some demo panels
panel& cam1panel = maker::make<panel>( tabs );
label& cam1label = maker::make<label>( cam1panel );
cam1label.move(30,100, 100,20 );
cam1label.text("CAM1 panel");
tabs.add( "CAM1", cam1panel );
panel& cam2panel = maker::make<panel>( tabs );
label& cam2label = maker::make<label>( cam2panel );
cam2label.move(30,100, 100,20 );
cam2label.text("CAM2 panel");
tabs.add( "CAM2", cam2panel );
panel& cam3panel = maker::make<panel>( tabs );
label& cam3label = maker::make<label>( cam3panel );
cam3label.move(30,100, 100,20 );
cam3label.text("CAM3 panel");
tabs.add( "CAM3", cam3panel );
form.show();
// initially show the first panel
// must be donw after call to show, which displays the last panel added
tabs.select( 0 );
|
inline |
add panel that can be displayed
| [in] | tabname | text for button that brings up the panel |
| [in] | panel | to be displayed when tab selected. |
Panel will be resized to fit neatly