1 /****************************************************************************/ 2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo 3 // Copyright (C) 2001-2019 German Aerospace Center (DLR) and others. 4 // This program and the accompanying materials 5 // are made available under the terms of the Eclipse Public License v2.0 6 // which accompanies this distribution, and is available at 7 // http://www.eclipse.org/legal/epl-v20.html 8 // SPDX-License-Identifier: EPL-2.0 9 /****************************************************************************/ 10 /// @file GUIDesigns.h 11 /// @author Pablo Alvarez Lopez 12 /// @date Oct 2016 13 /// @version $Id$ 14 /// 15 // File with the definitions of standard style of FXObjects in SUMO 16 /****************************************************************************/ 17 #ifndef GUIDesigns_h 18 #define GUIDesigns_h 19 20 // =========================================================================== 21 // included modules 22 // =========================================================================== 23 #include <config.h> 24 25 #include <fx.h> 26 27 // =========================================================================== 28 // Definitions 29 // =========================================================================== 30 31 /// @name FXTextFields 32 /// @{ 33 /// @brief text field extended over Frame with thick frame 34 #define GUIDesignTextField (FRAME_THICK | LAYOUT_FILL_X | LAYOUT_FIX_HEIGHT), 0, 0, 0, 23, 2, 2, 2, 2 35 36 /// @brief text field extended over Frame with thick frame and limited to Integers 37 #define GUIDesignTextFieldInt (FRAME_THICK | LAYOUT_FILL_X | LAYOUT_FIX_HEIGHT | TEXTFIELD_INTEGER), 0, 0, 0, 23, 2, 2, 2, 2 38 39 /// @brief text field extended over Frame with thick frame and limited to doubles/floats 40 #define GUIDesignTextFieldReal (FRAME_THICK | LAYOUT_FILL_X | LAYOUT_FIX_HEIGHT | TEXTFIELD_REAL), 0, 0, 0, 23, 2, 2, 2, 2 41 42 /// @brief text field with thick frame and size of 100x23 43 #define GUIDesignTextFielWidth100 (FRAME_THICK | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT), 0, 0, 100, 23, 2, 2, 2, 2 44 45 /// @brief text field with thick frame and size of 100x23 46 #define GUIDesignTextFielWidth100Real (FRAME_THICK | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT), 0, 0, 100, 23, 2, 2, 2, 2 47 48 /// @brief text field with thick frame, size of 180x23 and limited to integers (Used in GNEVehicleType) 49 #define GUIDesignTextFielWidth180Int (FRAME_THICK | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT | TEXTFIELD_INTEGER), 0, 0, 180, 23, 2, 2, 2, 2 50 51 /// @brief text field with thick frame, size of 180x23 and limited to doubles/floats (Used in GNEVehicleType) 52 #define GUIDesignTextFielWidth180Real (FRAME_THICK | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT | TEXTFIELD_REAL), 0, 0, 180, 23, 2, 2, 2, 2 53 54 /// @brief text field with thick frame, size of 180x23 /doubles (Used in GNEVehicleType) 55 #define GUIDesignTextFielWidth180 (FRAME_THICK | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT), 0, 0, 180, 23, 2, 2, 2, 2 56 57 /// @brief Num of column of text field 58 #define GUIDesignTextFieldNCol 1 59 60 /// @} 61 62 63 /// @name FXButtons 64 /// @{ 65 /// @brief button extended over over Frame with thick and raise frame 66 #define GUIDesignButton (FRAME_THICK | FRAME_RAISED | ICON_BEFORE_TEXT | LAYOUT_FILL_X | LAYOUT_FIX_HEIGHT), 0, 0, 0, 23, 2, 2, 2, 2 67 68 /// @brief button extended over over column with thick and raise frame 69 #define GUIDesignButtonAttribute (FRAME_THICK | FRAME_RAISED | ICON_BEFORE_TEXT | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT), 0, 0, 100, 23, 2, 2, 2, 2 70 71 /// @brief little button rectangular (46x23) used in frames (For example, in "help" buttons) 72 #define GUIDesignButtonRectangular (FRAME_THICK | FRAME_RAISED | ICON_BEFORE_TEXT | JUSTIFY_CENTER_X | JUSTIFY_CENTER_Y | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT), 0, 0, 46, 23, 2, 2, 2, 2 73 74 /// @brief button only with icon (23x23) 75 #define GUIDesignButtonIcon (FRAME_THICK | FRAME_RAISED | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT), 0, 0, 23, 23, 2, 2, 2, 2 76 77 /// @brief button only with icon (46x23) 78 #define GUIDesignButtonIconRectangular (FRAME_THICK | FRAME_RAISED | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT), 0, 0, 46, 23, 2, 2, 2, 2 79 80 /// @brief button rectangular with thick and raise frame with a size of 100x23 81 #define GUIDesignButtonRectangular100x23 (FRAME_THICK | FRAME_RAISED | ICON_BEFORE_TEXT | JUSTIFY_CENTER_X | JUSTIFY_CENTER_Y | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT), 0, 0, 100, 23, 2, 2, 2, 2 82 83 /// @brief button rectangular with thick and raise frame with a size of 150x23 84 #define GUIDesignButtonRectangular150x23 (FRAME_THICK | FRAME_RAISED | ICON_BEFORE_TEXT | JUSTIFY_CENTER_X | JUSTIFY_CENTER_Y | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT), 0, 0, 150, 23, 2, 2, 2, 2 85 86 /// @} 87 88 89 /// @name FXButtons for toolbar 90 /// @{ 91 /// @brief little button with text placed in navigation toolbar 92 #define GUIDesignButtonToolbarText (BUTTON_TOOLBAR | ICON_BEFORE_TEXT | FRAME_RAISED | LAYOUT_TOP | LAYOUT_LEFT | LAYOUT_CENTER_Y | LAYOUT_FIX_HEIGHT), 0, 0, 0, 23 93 94 /// @brief little button with icon placed in navigation toolbar 95 #define GUIDesignButtonToolbar (BUTTON_TOOLBAR | ICON_BEFORE_TEXT | FRAME_RAISED | LAYOUT_TOP | LAYOUT_LEFT | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT), 0, 0, 23, 23 96 97 /// @brief little button with text and icon 98 #define GUIDesignButtonToolbarWithText (BUTTON_TOOLBAR | ICON_BEFORE_TEXT | FRAME_RAISED | LAYOUT_TOP | LAYOUT_LEFT | LAYOUT_FIX_HEIGHT | JUSTIFY_LEFT), 0, 0, 0, 23 99 100 /// @brief little checkable button with icon placed in navigation toolbar used specify for Locator 101 #define GUIDesignButtonToolbarLocator (BUTTON_TOOLBAR | MENUBUTTON_RIGHT | LAYOUT_TOP | FRAME_RAISED | FRAME_THICK | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT), 0, 0, 23, 23 102 103 /// @brief little checkable button with icon placed in navigation toolbar 104 #define GUIDesignButtonToolbarCheckable (BUTTON_NORMAL | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT), 0, 0, 23, 23 105 106 /// @brief checkable button with icon placed in navigation toolbar for supermodes 107 #define GUIDesignButtonToolbarSupermode (BUTTON_NORMAL | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT), 0, 0, 100, 23 108 /// @} 109 110 111 /// @name FXButtons for dialogs 112 /// @{ 113 /// @brief OK Button 114 #define GUIDesignButtonOK (ICON_BEFORE_TEXT | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT | FRAME_THICK | FRAME_RAISED), 0, 0, 75, 23, 2, 2, 2, 2 115 116 /// @brief Accept Button 117 #define GUIDesignButtonAccept (ICON_BEFORE_TEXT | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT | FRAME_THICK | FRAME_RAISED), 0, 0, 75, 23, 2, 2, 2, 2 118 119 /// @brief Cancel Button 120 #define GUIDesignButtonCancel (ICON_BEFORE_TEXT | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT | FRAME_THICK | FRAME_RAISED), 0, 0, 75, 23, 2, 2, 2, 2 121 122 /// @brief Reset Button 123 #define GUIDesignButtonReset (ICON_BEFORE_TEXT | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT | FRAME_THICK | FRAME_RAISED), 0, 0, 75, 23, 2, 2, 2, 2 124 /// @} 125 126 127 /// @name FXCheckButtons 128 /// @{ 129 /// @brief CheckButton for Frames without thick extended over the frame 130 #define GUIDesignCheckButton (CHECKBUTTON_NORMAL | LAYOUT_CENTER_Y) 131 132 /// @brief checkButton without thick extended over the frame used for attributes 133 #define GUIDesignCheckButtonAttribute (CHECKBUTTON_NORMAL | JUSTIFY_CENTER_Y | LAYOUT_FIX_HEIGHT | JUSTIFY_LEFT), 0, 0, 0, 23, 2, 2, 2, 2 134 135 /// @brief checkButton placed in left position 136 #define GUIDesignCheckButtonLeft (CHECKBUTTON_NORMAL | JUSTIFY_CENTER_Y | LAYOUT_FIX_HEIGHT | JUSTIFY_LEFT), 0, 0, 0, 23, 2, 2, 2, 2 137 138 /// @} 139 140 141 /// @name MDI Buttons 142 /// @{ 143 /// @brief MDIButton oriented to left 144 #define GUIDesignMDIButtonLeft (LAYOUT_LEFT) 145 146 /// @brief MDIButton oriented to right 147 #define GUIDesignMDIButtonRight (FRAME_RAISED | LAYOUT_RIGHT) 148 /// @} 149 150 151 /// @name FXRadiobuttons 152 /// @{ 153 /// @brief design for radio button 154 #define GUIDesignRadioButton (LAYOUT_LEFT | LAYOUT_FILL_X | ICON_BEFORE_TEXT | JUSTIFY_LEFT) 155 156 /// @brief design for radio button with fixed height 157 #define GUIDesignRadioButtonAttribute (RADIOBUTTON_NORMAL | JUSTIFY_CENTER_Y | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT | JUSTIFY_LEFT | ICON_BEFORE_TEXT | FRAME_THICK), 0, 0, 100, 23, 2, 2, 2, 2 158 /// @} 159 160 161 /// @name FXLabels 162 /// @{ 163 /// @brief label extended over frame without thick and with text justify to left and height of 23 164 #define GUIDesignLabelLeft (JUSTIFY_LEFT | LAYOUT_FILL_X | ICON_BEFORE_TEXT | LAYOUT_FIX_HEIGHT), 0, 0, 0, 23, 2, 2, 2, 2 165 166 /// @brief label extended over frame without thick and with text justify to right and height of 23 167 #define GUIDesignLabelRight (JUSTIFY_RIGHT | LAYOUT_FILL_X | ICON_BEFORE_TEXT | LAYOUT_FIX_HEIGHT), 0, 0, 0, 23, 2, 2, 2, 2 168 169 /// @brief label extended over frame without thick and with text justify to center and height of 23 170 #define GUIDesignLabelCenter (JUSTIFY_NORMAL | LAYOUT_FILL_X | ICON_BEFORE_TEXT | LAYOUT_FIX_HEIGHT), 0, 0, 0, 23, 2, 2, 2, 2 171 172 /// @brief label extended over frame with thick and with text justify to left and height of 23 173 #define GUIDesignLabelThick (FRAME_THICK | LAYOUT_FILL_X | ICON_BEFORE_TEXT | LAYOUT_FIX_HEIGHT), 0, 0, 0, 23, 2, 2, 2, 2 174 175 /// @brief label extended over frame with thick and with text justify to left and height of 23 176 #define GUIDesignLabelLeftThick (FRAME_THICK | JUSTIFY_LEFT | LAYOUT_FILL_X | ICON_BEFORE_TEXT | LAYOUT_FIX_HEIGHT), 0, 0, 0, 23, 2, 2, 2, 2 177 178 /// @brief label extended over frame with thick and with text justify to right and height of 23 179 #define GUIDesignLabelRightThick (FRAME_THICK | JUSTIFY_RIGHT | LAYOUT_FILL_X | ICON_BEFORE_TEXT | LAYOUT_FIX_HEIGHT), 0, 0, 0, 23, 2, 2, 2, 2 180 181 /// @brief label extended over frame with thick and with text justify to center and height of 23 182 #define GUIDesignLabelCenterThick (FRAME_THICK | JUSTIFY_NORMAL | LAYOUT_FILL_X | ICON_BEFORE_TEXT | LAYOUT_FIX_HEIGHT), 0, 0, 0, 23, 2, 2, 2, 2 183 184 /// @brief label extended over the matrix column with thick frame and height of 23 185 #define GUIDesignLabelAttribute (FRAME_THICK | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT | ICON_BEFORE_TEXT), 0, 0, 100, 23, 2, 2, 2, 2 186 187 /// @brief label extended over the matrix column with thick frame and height of 23 188 #define GUIDesignLabelAttribute150 (FRAME_THICK | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT | ICON_BEFORE_TEXT), 0, 0, 150, 23, 2, 2, 2, 2 189 190 /// @brief label extended over frame without thick and with text justify to left 191 #define GUIDesignLabelAboutInfo (JUSTIFY_LEFT | LAYOUT_FILL_X | ICON_BEFORE_TEXT), 0, 0, 0, 0, 2, 2, 0, 0 192 193 /// @brief label extended over frame with thick and with text justify to center 194 #define GUIDesignLabelAboutInfoCenter (FRAME_THICK | JUSTIFY_NORMAL | LAYOUT_FILL_X | ICON_BEFORE_TEXT), 0, 0, 0, 0, 2, 2, 0, 0 195 196 /// @brief label ticked filled only with an icon of 32x32 197 #define GUIDesignLabelIcon32x32Thicked (FRAME_THICK | ICON_BEFORE_TEXT | LAYOUT_FIX_HEIGHT | LAYOUT_FIX_WIDTH), 0, 0, 24, 23, 2, 2, 2, 2 198 199 /// @brief label ticked filled used for VClasses. It uses icons of 64x32 pixels 200 #define GUIDesignLabelIcon64x32Thicked (FRAME_THICK | ICON_BEFORE_TEXT | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT), 0, 0, 94, 46, 2, 2, 2, 2 201 202 /// @brief design for label with icon 203 #define GUIDesignLabelIcon (LAYOUT_CENTER_Y | LAYOUT_CENTER_X ), 0, 0, 0, 0, 2, 2, 0, 0 204 205 /// @brief label ticked filled extended over frame used for VClasses/VShapes. (can be used by icons of 64x32 pixels) 206 #define GUIDesignLabelTickedIcon180x46 (FRAME_THICK | ICON_BEFORE_TEXT | LAYOUT_FILL_X | LAYOUT_FIX_HEIGHT | LAYOUT_FIX_WIDTH), 0, 0, 180, 46, 2, 2, 2, 2 207 208 /// @brief label extended over frame without thick and with text justify to left, used to show information in frames 209 #define GUIDesignLabelFrameInformation (JUSTIFY_LEFT | LAYOUT_FILL_X | ICON_BEFORE_TEXT), 0, 0, 0, 0, 2, 2, 2, 2 210 211 /// @brief label with thick, text justify to left and size of 100x23 212 #define GUIDesignLabelThick100 (FRAME_THICK | ICON_BEFORE_TEXT | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT), 0, 0, 100, 23, 2, 2, 2, 2 213 214 /// @} 215 216 217 /// @name FXComboBox 218 /// @{ 219 /// @brief Combo box editable extended over the all frame 220 #define GUIDesignComboBox (FRAME_THICK | LAYOUT_FILL_X | LAYOUT_FIX_HEIGHT), 0, 0, 0, 23, 2, 2, 2, 2 221 222 /// @brief Combo box static (not editable) 223 #define GUIDesignComboBoxStatic (COMBOBOX_STATIC | FRAME_SUNKEN | LAYOUT_LEFT | LAYOUT_TOP | LAYOUT_FIX_HEIGHT), 0, 0, 0, 23, 2, 2, 2, 2 224 225 /// @brief Combo box static (cannot be edited) extended over the matrix column 226 #define GUIDesignComboBoxAttribute (COMBOBOX_NORMAL | FRAME_THICK | LAYOUT_FILL_X | LAYOUT_FIX_HEIGHT), 0, 0, 0, 23, 2, 2, 2, 2 227 228 229 /// @brief number of column of every combo box 230 #define GUIDesignComboBoxNCol 1 231 /// @} 232 233 234 /// @name FXPackers 235 /// @{ 236 /// @brief Horizontal frame extended over frame parent 237 #define GUIDesignHorizontalFrame (LAYOUT_FILL_X), 0, 0, 0, 0, 4, 4, 4, 4, 4, 4 238 239 /// @brief Vertical frame extended over frame parent 240 #define GUIDesignVerticalFrame (LAYOUT_FILL_Y), 0, 0, 0, 0, 4, 4, 4, 4, 4, 4 241 242 /// @brief Horizontal frame used for pack icons 243 #define GUIDesignHorizontalFrameIcons (LAYOUT_FILL_X | FRAME_THICK), 0, 0, 0, 0, 0, 0, 0, 0, 2, 2 244 245 /// @brief Horizontal frame used in status bar 246 #define GUIDesignHorizontalFrameStatusBar (LAYOUT_FIX_WIDTH | LAYOUT_FILL_Y | LAYOUT_RIGHT | FRAME_SUNKEN), 0, 0, 20, 0, 0, 0, 0, 0, 0, 0 247 248 /// @brief Matrix design extended over Frame packed by columns 249 #define GUIDesignMatrix (LAYOUT_FILL_X | LAYOUT_FILL_Y | MATRIX_BY_COLUMNS | PACK_UNIFORM_WIDTH) 250 251 /// @brief Group box design extended over frame 252 #define GUIDesignGroupBoxFrame (LAYOUT_FILL_X | FRAME_GROOVE | GROUPBOX_TITLE_CENTER) 253 254 /// @brief Group box design extended over frame (X and Y) 255 #define GUIDesignGroupBoxFrameFill (LAYOUT_FILL_X | LAYOUT_FILL_Y | FRAME_GROOVE | GROUPBOX_TITLE_CENTER) 256 257 /// @brief Group box design for elements of width 100 258 #define GUIDesignGroupBoxFrame100 (LAYOUT_FIX_WIDTH | FRAME_GROOVE | GROUPBOX_TITLE_CENTER), 0, 0, 112, 0, 4, 4, 4, 4, 4, 4 259 260 /// @brief FXMatrix used to pack values in Viewsettings 261 #define GUIDesignMatrixViewSettings (LAYOUT_FILL_X | LAYOUT_BOTTOM | LAYOUT_LEFT | MATRIX_BY_COLUMNS), 0, 0, 0, 0, 10, 10, 10, 10, 5, 5 262 263 /// @brief Matrix design extended over Frame and used for represent attributes and their values (Deprecated) 264 #define GUIDesignMatrixAttributes (LAYOUT_FILL_X | MATRIX_BY_COLUMNS | PACK_UNIFORM_WIDTH) 265 266 /// @brief Matrix for pack GLTypes (used in GNESelectorFrame) 267 #define GUIDesignMatrixLockGLTypes (LAYOUT_FILL_X | LAYOUT_BOTTOM | LAYOUT_LEFT | MATRIX_BY_COLUMNS), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 268 /// @} 269 270 271 /// @name General design for netedit frames 272 /// @{ 273 /// @brief design for frames area 274 #define GUIDesignFrameArea (FRAME_SUNKEN | LAYOUT_SIDE_TOP | LAYOUT_FIX_WIDTH | LAYOUT_FILL_Y) 275 276 /// @brief design for viewn area 277 #define GUIDesignViewnArea (FRAME_SUNKEN | LAYOUT_SIDE_TOP | LAYOUT_FILL_X | LAYOUT_FILL_Y), 0, 0, 0, 0, 0, 0, 0, 0 278 279 /// @brief design for the content frame of every frame 280 #define GUIDesignContentsScrollWindow (LAYOUT_FILL_X | LAYOUT_FILL_Y | HSCROLLER_NEVER), 0, 0, 0, 0 281 282 /// @brief design for auxiliar (Without borders) frames used to pack another frames extended in all directions 283 #define GUIDesignAuxiliarFrame (LAYOUT_FILL_X | LAYOUT_FILL_Y), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 284 285 /// @brief design for auxiliar (Without borders) horizontal frame used to pack another frames 286 #define GUIDesignAuxiliarHorizontalFrame (LAYOUT_FILL_X), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 287 288 /// @brief design for auxiliar (Without borders) horizontal frame used to pack another frames 289 #define GUIDesignAuxiliarVerticalFrame (LAYOUT_FILL_Y), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 290 291 /// @brief design for horizontal frame used to pack another frames with a uniform width 292 #define GUIDesignUniformHorizontalFrame (LAYOUT_FILL_X | LAYOUT_FILL_Y | PACK_UNIFORM_WIDTH) 293 294 /// @brief design for the main content frame of every frame/dialog 295 #define GUIDesignContentsFrame (LAYOUT_FILL_X | LAYOUT_FILL_Y) 296 /// @} 297 298 299 /// @name designs for toolbars 300 /// @{ 301 /// @brief design for top toolbar (file, edit, processing...) 302 #define GUIDesignToolbarMenuBar (LAYOUT_SIDE_TOP | LAYOUT_FILL_X | FRAME_RAISED) 303 304 /// @brief design for top toolbar (file, edit, processing...) used only in netedit (due supermodes buttons) 305 #define GUIDesignToolbarMenuBarNetedit (LAYOUT_SIDE_TOP | FRAME_RAISED) 306 307 /// @brief design for default toolbar 308 #define GUIDesignToolBar (FRAME_NORMAL) 309 310 /// @brief design for toolbar 311 #define GUIDesignToolBarRaisedSame (LAYOUT_DOCK_SAME | FRAME_RAISED) 312 313 /// @brief design for first toolbar shell positioned in the next position of dock 314 #define GUIDesignToolBarRaisedNext (LAYOUT_DOCK_NEXT | FRAME_RAISED) 315 316 /// @brief design used in status bar 317 #define GUIDesignStatusBar (LAYOUT_SIDE_BOTTOM | LAYOUT_FILL_X | FRAME_RAISED) 318 319 /// @brief design for toolbar grip (used to change the position of toolbar with mouse) 320 #define GUIDesignToolBarGrip (TOOLBARGRIP_DOUBLE) 321 322 /// @brief design for first toolbar shell positioned in the next-top position of dock 323 #define GUIDesignToolBarRaisedNextTop (LAYOUT_DOCK_NEXT | LAYOUT_SIDE_TOP | FRAME_RAISED) 324 325 /// @brief design for first toolbar shell positioned in the same position of dock 326 #define GUIDesignToolBarRaisedSameTop (LAYOUT_DOCK_SAME | LAYOUT_SIDE_TOP | FRAME_RAISED) 327 328 /// @} 329 330 331 /// @name designs for separators 332 /// @{ 333 /// @brief horizontal separator 334 #define GUIDesignHorizontalSeparator (SEPARATOR_GROOVE | LAYOUT_FILL_X) 335 336 /// @brief vertical separator 337 #define GUIDesignVerticalSeparator (SEPARATOR_GROOVE | LAYOUT_FILL_Y) 338 /// @} 339 340 341 /// @name designs for splitters 342 /// @{ 343 /// @brief general design for splitters 344 #define GUIDesignSplitter (LAYOUT_FILL_X | LAYOUT_FILL_Y | FRAME_RAISED | FRAME_THICK | SPLITTER_TRACKING) 345 346 /// @brief MDI Splitter 347 #define GUIDesignSplitterMDI (LAYOUT_FILL_X | LAYOUT_FILL_Y | FRAME_SUNKEN | FRAME_THICK) 348 /// @} 349 350 351 /// @name designs for Spin dials 352 /// @{ 353 /// @brief desing for standard spin dial 354 #define GUIDesignSpinDial (FRAME_THICK | FRAME_SUNKEN | LAYOUT_TOP | LAYOUT_CENTER_Y) 355 /// @} 356 357 358 /// @name design for view settings dialog 359 /// @{ 360 /// @rbrief dialog 361 #define GUIDesignViewSettingsMainDialog (DECOR_TITLE | DECOR_BORDER | DECOR_RESIZE), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 362 363 #define GUIDesignViewSettingsDialog (DECOR_TITLE | DECOR_BORDER) 364 365 /// @brief vertical frames 366 #define GUIDesignViewSettingsVerticalFrame1 (LAYOUT_FILL_X | LAYOUT_SIDE_TOP | LAYOUT_FILL_Y), 0, 0, 0, 0, 0, 0, 0, 0, 2, 2 367 368 #define GUIDesignViewSettingsVerticalFrame2 (LAYOUT_FILL_X | FRAME_THICK | FRAME_RAISED | LAYOUT_FILL_Y), 0, 0, 0, 0, 0, 0, 0, 0, 2, 2 369 370 #define GUIDesignViewSettingsVerticalFrame3 (LAYOUT_FILL_Y), 0, 0, 0, 0, 10, 10, 10, 10, 5, 5 371 372 #define GUIDesignViewSettingsVerticalFrame4 (LAYOUT_FILL_X | LAYOUT_FILL_Y), 0, 0, 0, 0, 10, 10, 2, 8, 5, 2 373 374 #define GUIDesignViewSettingsVerticalFrame5 (LAYOUT_FILL_X | LAYOUT_FILL_Y), 0, 0, 0, 0, 10, 10, 10, 10, 10, 10 375 376 #define GUIDesignViewSettingsVerticalFrame6 (LAYOUT_FILL_X | LAYOUT_FILL_Y), 0, 0, 0, 0, 0, 0, 0, 0, 2, 2 377 378 /// @brief Horizontal frames 379 #define GUIDesignViewSettingsHorizontalFrame1 (FRAME_THICK), 0, 0, 0, 0, 0, 0, 0, 0, 2, 2 380 381 #define GUIDesignViewSettingsHorizontalFrame2 (LAYOUT_TOP | LAYOUT_LEFT | LAYOUT_FILL_X | PACK_UNIFORM_WIDTH), 0, 0, 0, 0, 10, 10, 5, 5 382 383 #define GUIDesignViewSettingsHorizontalFrame3 (LAYOUT_FILL_X | PACK_UNIFORM_WIDTH), 0, 0, 0, 0, 0, 0, 0, 0 384 385 /// @brief Matrix 386 #define GUIDesignViewSettingsMatrix1 (LAYOUT_FILL_X | LAYOUT_BOTTOM | LAYOUT_LEFT | MATRIX_BY_COLUMNS), 0, 0, 0, 0, 10, 10, 10, 10, 5, 5 387 388 #define GUIDesignViewSettingsMatrix2 (LAYOUT_FILL_X | LAYOUT_CENTER_Y | LAYOUT_BOTTOM | LAYOUT_LEFT | MATRIX_BY_COLUMNS), 0, 0, 0, 0, 10, 10, 0, 0, 5, 5 389 390 #define GUIDesignViewSettingsMatrix3 (LAYOUT_FILL_X | LAYOUT_TOP | LAYOUT_LEFT | MATRIX_BY_COLUMNS), 0, 0, 0, 0, 10, 10, 10, 2, 5, 5 391 392 #define GUIDesignViewSettingsMatrix4 (LAYOUT_FILL_X | MATRIX_BY_COLUMNS), 0, 0, 0, 0, 10, 10, 0, 0, 5, 3 393 394 #define GUIDesignViewSettingsMatrix5 (LAYOUT_FILL_X | LAYOUT_BOTTOM | LAYOUT_LEFT | MATRIX_BY_COLUMNS), 0, 0, 0, 0, 10, 10, 0, 0, 5, 5 395 396 397 /// @brief Combo boxs 398 #define GUIDesignViewSettingsComboBox1 (COMBOBOX_INSERT_LAST | FRAME_SUNKEN | LAYOUT_LEFT | LAYOUT_CENTER_Y | COMBOBOX_STATIC) 399 400 /// @brief ColorWell 401 #define GUIDesignViewSettingsColorWell (LAYOUT_FIX_WIDTH | LAYOUT_CENTER_Y | LAYOUT_SIDE_TOP | FRAME_SUNKEN | FRAME_THICK | ICON_AFTER_TEXT), 0, 0, 100, 0, 0, 0, 0, 0 402 403 #define GUIDesignViewSettingsSpinDial1 (LAYOUT_CENTER_Y | LAYOUT_TOP | FRAME_SUNKEN | FRAME_THICK) 404 405 #define GUIDesignViewSettingsSpinDial2 (LAYOUT_TOP | FRAME_SUNKEN | FRAME_THICK) 406 407 /// @brief Tab books 408 #define GUIDesignViewSettingsTabBook1 (TABBOOK_LEFTTABS | PACK_UNIFORM_WIDTH | PACK_UNIFORM_HEIGHT | LAYOUT_FILL_X | LAYOUT_FILL_Y | LAYOUT_RIGHT), 0, 0, 0, 0, 0, 0, 0, 0 409 410 #define GUIDesignViewSettingsTabItemBook1 (TAB_LEFT_NORMAL), 0, 0, 0, 0, 4, 8, 4, 4 411 412 /// @brief Label 413 #define GUIDesignViewSettingsLabel1 (LAYOUT_CENTER_Y) 414 415 #define GUIDesignViewSettingsLabel2 (LAYOUT_FILL_X | JUSTIFY_LEFT) 416 417 /// @brief textFields 418 #define GUIDesignViewSettingsTextField1 (TEXTFIELD_ENTER_ONLY | FRAME_SUNKEN | FRAME_THICK | LAYOUT_FILL_X) 419 420 /// @brief Buttons 421 #define GUIDesignViewSettingsButton1 (BUTTON_DEFAULT | FRAME_RAISED | FRAME_THICK | LAYOUT_TOP | LAYOUT_LEFT | LAYOUT_CENTER_X), 0, 0, 0, 0, 20, 20, 4, 4 422 423 #define GUIDesignViewSettingsButton2 (BUTTON_INITIAL | BUTTON_DEFAULT | FRAME_RAISED | FRAME_THICK | LAYOUT_TOP | LAYOUT_LEFT | LAYOUT_CENTER_X), 0, 0, 0, 0, 30, 30, 4, 4 424 425 #define GUIDesignViewSettingsButton3 (BUTTON_DEFAULT | FRAME_RAISED | FRAME_THICK | LAYOUT_TOP | LAYOUT_LEFT | LAYOUT_CENTER_X), 0, 0, 0, 0, 30, 30, 4, 4 426 427 #define GUIDesignViewSettingsButton4 (BUTTON_INITIAL | BUTTON_DEFAULT | FRAME_RAISED | FRAME_THICK | LAYOUT_RIGHT) 428 429 #define GUIDesignViewSettingsButton5 (BUTTON_DEFAULT | FRAME_RAISED | FRAME_THICK | LAYOUT_RIGHT), 0, 0, 0, 0, 20, 20 430 431 /// @brief Color wells 432 #define GUIDesignViewSettingsColorWell1 (LAYOUT_FIX_WIDTH | LAYOUT_CENTER_Y | FRAME_SUNKEN | FRAME_THICK | ICON_AFTER_TEXT), 0, 0, 100, 0, 0, 0, 0, 0 433 434 #define GUIDesignViewSettingsColorWell2 (LAYOUT_FIX_WIDTH | LAYOUT_CENTER_Y | LAYOUT_SIDE_TOP | FRAME_SUNKEN | FRAME_THICK | ICON_AFTER_TEXT), 0, 0, 100, 0, 0, 0, 0, 0 435 436 /// @brief MFX Add/Edit Typed Table 437 #define GUIDesignViewSettingsMFXTable (LAYOUT_FILL_Y | LAYOUT_FIX_WIDTH) /*|LAYOUT_FIX_HEIGHT*/, 0, 0, 470, 0 438 439 #define GUIDesignViewSettingsMFXTableJustify (JUSTIFY_CENTER_X | JUSTIFY_TOP) 440 /// @} 441 442 443 /// @name design for dialog boxs 444 /// @{ 445 /// @brief design for standard dialog box with close button (for example, about dialog) 446 #define GUIDesignDialogBox (DECOR_CLOSE | DECOR_TITLE) 447 448 /// @brief design for standard dialog box that can be stretched (But not shrinked) 449 #define GUIDesignDialogBoxStretchable (DECOR_CLOSE | DECOR_TITLE | DECOR_STRETCHABLE) 450 451 /// @brief design for standard dialog box that can be schinked (But not stretched) 452 #define GUIDesignDialogBoxShrinkable (DECOR_CLOSE | DECOR_TITLE | DECOR_SHRINKABLE) 453 454 /// @brief design for standard dialog box (for example, about dialog) 455 #define GUIDesignDialogBoxResizable (DECOR_CLOSE | DECOR_TITLE | DECOR_RESIZE) 456 457 /// @brief design for dialog box with specift width and height (for example, additional dialogs) 458 #define GUIDesignDialogBoxExplicit(width, height) (DECOR_CLOSE | DECOR_TITLE | LAYOUT_EXPLICIT), 0, 0, width, height, 4, 4, 4, 4, 4, 4 459 460 /// @brief design for dialog box with specift width and height that can be stretched (But not shrinked) 461 #define GUIDesignDialogBoxExplicitStretchable(width, height) (DECOR_CLOSE | DECOR_TITLE | LAYOUT_EXPLICIT | DECOR_STRETCHABLE), 0, 0, width, height, 4, 4, 4, 4, 4, 4 462 /// @} 463 464 465 /// @name design for FXTables and their cells 466 /// @{ 467 /// @brief design for table extended over frame 468 #define GUIDesignTable (LAYOUT_FILL_X | LAYOUT_FILL_Y) 469 470 /// @brief design for table extended over frame that cannot be edited 471 #define GUIDesignTableNotEditable (LAYOUT_FILL_X | LAYOUT_FILL_Y | TABLE_READONLY) 472 473 /// @brief design for table extended over frame but with limited Height 474 #define GUIDesignTableLimitedHeight (LAYOUT_FILL_X | LAYOUT_FIX_HEIGHT) 475 476 /// @brief design for tables used in additional dialogs 477 #define GUIDesignTableAdditionals (LAYOUT_FILL_X | LAYOUT_FILL_Y | VSCROLLER_ALWAYS | HSCROLLER_NEVER | TABLE_NO_ROWSELECT | TABLE_NO_COLSELECT), 0, 0, 0, 0, 2, 2, 2, 2 478 479 /// @brief width of cells that only contains an Icon 480 #define GUIDesignTableIconCellWidth 23 481 /// @} 482 483 484 /// @name design for Chooser (locator) and breakpoint dialogs 485 /// @{ 486 /// @brief design for Chooser dialog specifying size 487 #define GUIDesignChooserDialog (DECOR_ALL), 20, 20, 300, 300 488 489 /// @brief design for Chooser buttons 490 #define GUIDesignChooserButtons (ICON_BEFORE_TEXT | LAYOUT_FIX_WIDTH | LAYOUT_FIX_HEIGHT | FRAME_THICK | FRAME_RAISED), 0, 0, 150, 23, 2, 2, 2, 2 491 492 /// @brief design for Chooser TextField 493 #define GUIDesignChooserTextField (LAYOUT_FILL_X | LAYOUT_FIX_HEIGHT | FRAME_THICK | FRAME_SUNKEN), 0, 0, 0, 23, 2, 2, 2, 2 494 495 /// @brief design for Chooser List 496 #define GUIDesignChooserListSingle (LIST_SINGLESELECT | LAYOUT_FILL_X | LAYOUT_FILL_Y | FRAME_SUNKEN | FRAME_THICK), 0, 0, 0, 0 497 498 /// @brief design for Chooser List 499 #define GUIDesignChooserListMultiple (LIST_MULTIPLESELECT | LAYOUT_FILL_X | LAYOUT_FILL_Y | FRAME_SUNKEN | FRAME_THICK), 0, 0, 0, 0 500 501 /// @brief design for Breakpoint table 502 #define GUIDesignBreakpointTable (LAYOUT_FILL_X | LAYOUT_FILL_Y | FRAME_SUNKEN | FRAME_THICK), 0, 0, 0, 0 503 504 /// @brief Height of breakpoint Table header 505 #define GUIDesignBreakpointTableHeaderHeight 23 506 507 /// @brief design for Chooser Layout left 508 #define GUIDesignChooserLayoutLeft (LAYOUT_FILL_X | LAYOUT_FILL_Y | LAYOUT_TOP), 0, 0, 0, 0, 4, 4, 4, 4 509 510 /// @brief design for Chooser Layout right 511 #define GUIDesignChooserLayoutRight (LAYOUT_TOP), 0, 0, 0, 0, 4, 4, 4, 4 512 513 /// @brief design for Chooser Layout list 514 #define GUIDesignChooserLayoutList (LAYOUT_FILL_X | LAYOUT_FILL_Y | LAYOUT_TOP | FRAME_THICK | FRAME_SUNKEN), 0, 0, 0, 0, 0, 0, 0, 0 515 516 /// @} 517 518 519 /// @brief Tree list used in frames to represent childs of elements 520 #define GUIDesignTreeListFrame (TREELIST_SHOWS_LINES | TREELIST_SHOWS_BOXES | TREELIST_SINGLESELECT | FRAME_SUNKEN | FRAME_THICK | LAYOUT_FILL_X | LAYOUT_FIX_HEIGHT), 0, 0, 0, 200 521 522 /// @brief design for FXLists 523 #define GUIDesignList (LIST_NORMAL | FRAME_NORMAL | LAYOUT_FILL_X) 524 525 /// @brief design for FXList sthat only allow a single selected elements selected 526 #define GUIDesignListSingleElement (LIST_SINGLESELECT | FRAME_NORMAL | LAYOUT_FILL_X) 527 528 /// @brief design for FXLists with height fixed 529 #define GUIDesignListFixedHeight (LIST_NORMAL | FRAME_NORMAL | LAYOUT_FILL_X | LAYOUT_FIX_HEIGHT) 530 531 /// @brief design for FXLists that only allow a single selected elements selected and height fixed 532 #define GUIDesignListSingleElementFixedHeight (LIST_SINGLESELECT | FRAME_NORMAL | LAYOUT_FILL_X | LAYOUT_FIX_HEIGHT), 0, 0, 0, 100 533 534 /// @brief design for FXLists 535 #define GUIDesignListExtended (LIST_NORMAL | FRAME_SUNKEN | FRAME_THICK | LAYOUT_FILL_X | LAYOUT_FILL_Y) 536 537 /// @brief desgin for TabBooks 538 #define GUIDesignTabBook (TABBOOK_LEFTTABS | PACK_UNIFORM_WIDTH | PACK_UNIFORM_HEIGHT | LAYOUT_FILL_X | LAYOUT_FILL_Y | LAYOUT_RIGHT) 539 540 #endif 541 542 /****************************************************************************/ 543