UNIXworkcode

1 /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- 2 * 3 * ***** BEGIN LICENSE BLOCK ***** 4 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 5 * 6 * The contents of this file are subject to the Mozilla Public License Version 7 * 1.1 (the "License"); you may not use this file except in compliance with 8 * the License. You may obtain a copy of the License at 9 * http://www.mozilla.org/MPL/ 10 * 11 * Software distributed under the License is distributed on an "AS IS" basis, 12 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 13 * for the specific language governing rights and limitations under the 14 * License. 15 * 16 * The Original Code is the Microline Widget Library, originally made available under the NPL by Neuron Data <http://www.neurondata.com>. 17 * 18 * The Initial Developer of the Original Code is 19 * Netscape Communications Corporation. 20 * Portions created by the Initial Developer are Copyright (C) 1998 21 * the Initial Developer. All Rights Reserved. 22 * 23 * Contributor(s): 24 * 25 * Alternatively, the contents of this file may be used under the terms of 26 * either the GNU General Public License Version 2 or later (the "GPL"), or 27 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 28 * in which case the provisions of the GPL or the LGPL are applicable instead 29 * of those above. If you wish to allow use of your version of this file only 30 * under the terms of either the GPL or the LGPL, and not to allow others to 31 * use your version of this file under the terms of the MPL, indicate your 32 * decision by deleting the provisions above and replace them with the notice 33 * and other provisions required by the GPL or the LGPL. If you do not delete 34 * the provisions above, a recipient may use your version of this file under 35 * the terms of any one of the MPL, the GPL or the LGPL. 36 * 37 * In addition, as a special exception to the GNU GPL, the copyright holders 38 * give permission to link the code of this program with the Motif and Open 39 * Motif libraries (or with modified versions of these that use the same 40 * license), and distribute linked combinations including the two. You 41 * must obey the GNU General Public License in all respects for all of 42 * the code used other than linking with Motif/Open Motif. If you modify 43 * this file, you may extend this exception to your version of the file, 44 * but you are not obligated to do so. If you do not wish to do so, 45 * delete this exception statement from your version. 46 * 47 * ***** END LICENSE BLOCK ***** */ 48 49 50 #ifndef XmLH 51 #define XmLH 52 53 #include <Xm/Xm.h> 54 55 #if defined(__cplusplus) || defined(c_plusplus) 56 #define XmL_CPP 1 57 #endif 58 59 #if defined(_STDC_) || defined(__STDC__) || defined(XmL_CPP) 60 #ifndef _NO_PROTO 61 #define XmL_ANSIC 1 62 #endif 63 #endif 64 65 #define XmLVERSION_301 66 67 #ifdef XmL_CPP 68 extern "C" { 69 #endif 70 71 /* shared resources */ 72 73 #define XmNautoSelect "autoSelect" 74 #define XmCAutoSelect "AutoSelect" 75 #define XmNblankBackground "blankBackground" 76 #define XmCBlankBackground "BlankBackground" 77 #define XmNdebugLevel "debugLevel" 78 #define XmCDebugLevel "DebugLevel" 79 80 /* Folder resources */ 81 82 #define XmNacceptResize "acceptResize" 83 #define XmCAcceptResize "AcceptResize" 84 #define XmNactiveTab "activeTab" 85 #define XmCActiveTab "ActiveTab" 86 #define XmNblankBackgroundPixmap "blankBackgroundPixmap" 87 #define XmCBlankBackgroundPixmap "BlankBackgroundPixmap" 88 #define XmNcornerDimension "cornerDimension" 89 #define XmCCornerDimension "CornerDimension" 90 #define XmNcornerStyle "cornerStyle" 91 #define XmCCornerStyle "CornerStyle" 92 #define XmRCornerStyle "CornerStyle" 93 #define XmNinactiveBackground "inactiveBackground" 94 #define XmCInactiveBackground "InactiveBackground" 95 #define XmNinactiveForeground "inactiveForeground" 96 #define XmCInactiveForeground "InactiveForeground" 97 #define XmNpixmapMargin "pixmapMargin" 98 #define XmCPixmapMargin "PixmapMargin" 99 #define XmCFolderResizePolicy "FolderResizePolicy" 100 #define XmRFolderResizePolicy "FolderResizePolicy" 101 #define XmNrotateWhenLeftRight "rotateWhenLeftRight" 102 #define XmCRotateWhenLeftRight "RotateWhenLeftRight" 103 #define XmNtabBarHeight "tabBarHeight" 104 #define XmCTabBarHeight "TabBarHeight" 105 #define XmNminTabWidth "minTabWidth" 106 #define XmCminTabWidth "MinTabWidth" 107 #define XmNmaxTabWidth "maxTabWidth" 108 #define XmCmaxTabWidth "MaxTabWidth" 109 #define XmNtabCount "tabCount" 110 #define XmCTabCount "TabCount" 111 #define XmNtabPlacement "tabPlacement" 112 #define XmCTabPlacement "TabPlacement" 113 #define XmRTabPlacement "TabPlacement" 114 #define XmNtabsPerRow "tabsPerRow" 115 #define XmCTabsPerRow "TabsPerRow" 116 #define XmNtabTranslations "tabTranslations" 117 #define XmNtabWidgetList "tabWidgetList" 118 #define XmNtabWidgetClass "tabWidgetClass" 119 #define XmCTabWidgetClass "TabWidgetClass" 120 121 /* Folder Constraint resources */ 122 123 #define XmNtabFreePixmaps "tabFreePixmaps" 124 #define XmCTabFreePixmaps "TabFreePixmaps" 125 #define XmNtabInactivePixmap "tabInactivePixmap" 126 #define XmCTabInactivePixmap "TabInactivePixmap" 127 #define XmNtabManagedName "tabManagedName" 128 #define XmCTabManagedName "TabManagedName" 129 #define XmNtabManagedWidget "tabManagedWidget" 130 #define XmCTabManagedWidget "TabManagedWidget" 131 #define XmNtabPixmap "tabPixmap" 132 #define XmCTabPixmap "TabPixmap" 133 134 /* Folder callbacks */ 135 136 typedef struct 137 { 138 int reason; 139 XEvent *event; 140 int pos; 141 int allowActivate; 142 int layoutNeeded; 143 } XmLFolderCallbackStruct; 144 145 /* Folder defines */ 146 147 #define XmCORNER_NONE 0 148 #define XmCORNER_LINE 1 149 #define XmCORNER_ARC 2 150 151 #define XmFOLDER_TOP 0 152 #define XmFOLDER_LEFT 1 153 #define XmFOLDER_BOTTOM 2 154 #define XmFOLDER_RIGHT 3 155 156 #define XmRESIZE_STATIC 10 157 #define XmRESIZE_DYNAMIC 11 158 #define XmRESIZE_PACK 12 159 160 /* Grid resources */ 161 162 #define XmNaddCallback "addCallback" 163 #define XmNallowColumnHide "allowColumnHide" 164 #define XmCAllowColumnHide "AllowColumnHide" 165 #define XmNallowColumnResize "allowColumnResize" 166 #define XmCAllowColumnResize "AllowColumnResize" 167 #define XmNallowDragSelected "allowDragSelected" 168 #define XmCAllowDragSelected "AllowDragSelected" 169 #define XmNallowDrop "allowDrop" 170 #define XmCAllowDrop "AllowDrop" 171 #define XmNallowRowHide "allowRowHide" 172 #define XmCAllowRowHide "AllowRowHide" 173 #define XmNallowRowResize "allowRowResize" 174 #define XmCAllowRowResize "AllowRowResize" 175 #define XmNbottomFixedCount "bottomFixedCount" 176 #define XmCBottomFixedCount "BottomFixedCount" 177 #define XmNbottomFixedMargin "bottomFixedMargin" 178 #define XmCBottomFixedMargin "BottomFixedMargin" 179 #define XmNcellDefaults "cellDefaults" 180 #define XmCCellDefaults "CellDefaults" 181 #define XmNcellDrawCallback "cellDrawCallback" 182 #define XmNcellDropCallback "cellDropCallback" 183 #define XmNcellFocusCallback "cellFocusCallback" 184 #define XmNcellPasteCallback "cellPasteCallback" 185 #define XmNdeleteCallback "deleteCallback" 186 #define XmNdeselectCallback "deselectCallback" 187 #define XmNeditCallback "editCallback" 188 #define XmNeditTranslations "editTranslations" 189 #define XmNfooterColumns "footerColumns" 190 #define XmCFooterColumns "FooterColumns" 191 #define XmNfooterRows "footerRows" 192 #define XmCFooterRows "FooterRows" 193 #define XmNglobalPixmapHeight "globalPixmapHeight" 194 #define XmCGlobalPixmapHeight "GlobalPixmapHeight" 195 #define XmNglobalPixmapWidth "globalPixmapWidth" 196 #define XmCGlobalPixmapWidth "GlobalPixmapWidth" 197 #define XmCGridSelectionPolicy "GridSelectionPolicy" 198 #define XmRGridSelectionPolicy "GridSelectionPolicy" 199 #define XmRGridSizePolicy "GridSizePolicy" 200 #define XmNheadingColumns "headingColumns" 201 #define XmCHeadingColumns "HeadingColumns" 202 #define XmNheadingRows "headingRows" 203 #define XmCHeadingRows "HeadingRows" 204 #define XmNhiddenColumns "hiddenColumns" 205 #define XmCHiddenColumns "HiddenColumns" 206 #define XmNhiddenRows "hiddenRows" 207 #define XmCHiddenRows "HiddenRows" 208 #define XmNhighlightRowMode "highlightRowMode" 209 #define XmCHighlightRowMode "HighlightRowMode" 210 #define XmNhorizontalSizePolicy "horizontalSizePolicy" 211 #define XmCHorizontalSizePolicy "HorizontalSizePolicy" 212 #define XmNhsbDisplayPolicy "hsbDisplayPolicy" 213 #define XmCHsbDisplayPolicy "HsbDisplayPolicy" 214 #define XmNimmediateDraw "immediateDraw" 215 #define XmCImmediateDraw "ImmediateDraw" 216 #define XmNlayoutFrozen "layoutFrozen" 217 #define XmCLayoutFrozen "LayoutFrozen" 218 #define XmNleftFixedCount "leftFixedCount" 219 #define XmCLeftFixedCount "LeftFixedCount" 220 #define XmNleftFixedMargin "leftFixedMargin" 221 #define XmCLeftFixedMargin "LeftFixedMargin" 222 #define XmNrightFixedCount "rightFixedCount" 223 #define XmCRightFixedCount "RightFixedCount" 224 #define XmNrightFixedMargin "rightFixedMargin" 225 #define XmCRightFixedMargin "RightFixedMargin" 226 #define XmNscrollBarMargin "scrollBarMargin" 227 #define XmCScrollBarMargin "ScrollBarMargin" 228 #define XmNscrollCallback "scrollCallback" 229 #define XmNheaderClickCallback "headerClickCallback" 230 #define XmNgridKeyPressedCallback "gridKeyPressedCallback" 231 #define XmNscrollColumn "scrollColumn" 232 #define XmCScrollColumn "ScrollColumn" 233 #define XmNscrollRow "scrollRow" 234 #define XmCScrollRow "ScrollRow" 235 #define XmNsimpleHeadings "simpleHeadings" 236 #define XmCSimpleHeadings "SimpleHeadings" 237 #define XmNsimpleWidths "simpleWidths" 238 #define XmCSimpleWidths "SimpleWidths" 239 #ifndef XmNselectCallback /* OM 2.2.3 defines this too. */ 240 #define XmNselectCallback "selectCallback" 241 #endif 242 #define XmNselectForeground "selectForeground" 243 #define XmCSelectForeground "SelectForeground" 244 #define XmNselectBackground "selectBackground" 245 #define XmCSelectBackground "SelectBackground" 246 #define XmNshadowRegions "shadowRegions" 247 #define XmCShadowRegions "ShadowRegions" 248 #define XmNtextWidget "textWidget" 249 #define XmCTextWidget "TextWidget" 250 #define XmNtoggleTopColor "toggleTopColor" 251 #define XmCToggleTopColor "ToggleTopColor" 252 #define XmNtoggleBottomColor "toggleBottomColor" 253 #define XmCToggleBottomColor "ToggleBottomColor" 254 #define XmNtoggleSize "toggleSize" 255 #define XmCToggleSize "ToggleSize" 256 #define XmNtopFixedCount "topFixedCount" 257 #define XmCTopFixedCount "TopFixedCount" 258 #define XmNtopFixedMargin "topFixedMargin" 259 #define XmCTopFixedMargin "TopFixedMargin" 260 #define XmNtraverseTranslations "traverseTranslations" 261 #define XmNuseAverageFontWidth "useAverageFontWidth" 262 #define XmCUseAverageFontWidth "UseAverageFontWidth" 263 #define XmNverticalSizePolicy "verticalSizePolicy" 264 #define XmCVerticalSizePolicy "VerticalSizePolicy" 265 #define XmNvisibleColumns "visibleColumns" 266 #define XmCVisibleColumns "VisibleColumns" 267 #define XmNvisibleRows "visibleRows" 268 #define XmCVisibleRows "VisibleRows" 269 #define XmNvsbDisplayPolicy "vsbDisplayPolicy" 270 #define XmCVsbDisplayPolicy "VsbDisplayPolicy" 271 #define XmNiconSpacing "iconSpacing" 272 #define XmCIconSpacing "IconSpacing" 273 274 275 /* XFE Additions */ 276 #define XmNhideUnhideButtons "hideUnhideButtons" 277 #define XmCHideUnhideButtons "HideUnhideButtons" 278 #define XmNsingleClickActivation "singleClickActivation" 279 #define XmCSingleClickActivation "SingleClickActivation" 280 #define XmNuseTextWidget "useTextWidget" 281 #define XmCUseTextWidget "UseTextWidget" 282 #define XmNcolumnSortType "columnSortType" 283 #define XmCColumnSortType "ColumnSortType" 284 #define XmRColumnSortType "ColumnSortType" 285 #if 0 286 #define XmNhideButtonTranslations "hideButtonTranslations" 287 #define XmNunhideButtonTranslations "unhideButtonTranslations" 288 #endif /*0*/ 289 #define XmNminColumnWidth "minColumnWidth" 290 #define XmCMinColumnWidth "MinColumnWidth" 291 292 #define XmNenterCellCallback "enterCellCallback" 293 #define XmNleaveCellCallback "leaveCellCallback" 294 295 #define XmNenterGridCallback "enterGridCallback" 296 #define XmNleaveGridCallback "leaveGridCallback" 297 298 /* Grid Row/Column/Cell resources */ 299 300 #ifndef XmNrow 301 #define XmNrow "row" 302 #endif 303 #define XmCGridRow "row" 304 #define XmNrowHeight "rowHeight" 305 #define XmCRowHeight "RowHeight" 306 #define XmNrowPtr "rowPtr" 307 #define XmNrowRangeEnd "rowRangeEnd" 308 #define XmCRowRangeEnd "RowRangeEnd" 309 #define XmNrowRangeStart "rowRangeStart" 310 #define XmCRowRangeStart "RowRangeStart" 311 #define XmNrowSizePolicy "rowSizePolicy" 312 #define XmCRowSizePolicy "RowSizePolicy" 313 #define XmNrowStep "rowStep" 314 #define XmCRowStep "RowStep" 315 #define XmNrowType "rowType" 316 #define XmCRowType "RowType" 317 #define XmRRowType "RowType" 318 #define XmNrowUserData "rowUserData" 319 320 #ifndef XmNcolumn 321 #define XmNcolumn "column" 322 #endif 323 #define XmCGridColumn "Column" 324 #define XmNcolumnPtr "columnPtr" 325 #define XmNcolumnRangeEnd "columnRangeEnd" 326 #define XmCColumnRangeEnd "ColumnRangeEnd" 327 #define XmNcolumnRangeStart "columnRangeStart" 328 #define XmCColumnRangeStart "ColumnRangeStart" 329 #define XmNcolumnResizable "columnResizable" 330 #define XmCColumnResizable "ColumnResizable" 331 #define XmNcolumnSizePolicy "columnSizePolicy" 332 #define XmCColumnSizePolicy "ColumnSizePolicy" 333 #define XmNcolumnHidden "columnHidden" 334 #define XmCColumnHidden "ColumnHidden" 335 #define XmNcolumnStep "columnStep" 336 #define XmCColumnStep "ColumnStep" 337 #define XmNcolumnType "columnType" 338 #define XmCColumnType "ColumnType" 339 #define XmRColumnType "ColumnType" 340 #define XmNcolumnWidth "columnWidth" 341 #define XmCColumnWidth "ColumnWidth" 342 #define XmNcolumnUserData "columnUserData" 343 344 #define XmNcellAlignment "cellAlignment" 345 #define XmCCellAlignment "CellAlignment" 346 #define XmRCellAlignment "CellAlignment" 347 #define XmNcellBackground "cellBackground" 348 #define XmCCellBackground "CellBackground" 349 #define XmRCellBorderType "CellBorderType" 350 #define XmNcellBottomBorderType "cellBottomBorderType" 351 #define XmCCellBottomBorderType "CellBottomBorderType" 352 #define XmNcellBottomBorderColor "cellBottomBorderColor" 353 #define XmCCellBottomBorderColor "CellBottomBorderColor" 354 #define XmNcellColumnSpan "cellColumnSpan" 355 #define XmCCellColumnSpan "CellColumnSpan" 356 #define XmNcellEditable "cellEditable" 357 #define XmCCellEditable "CellEditable" 358 #define XmNcellForeground "cellForeground" 359 #define XmCCellForeground "CellForeground" 360 #define XmNcellFontList "cellFontList" 361 #define XmCCellFontList "CellFontList" 362 #define XmNcellLeftBorderType "cellLeftBorderType" 363 #define XmCCellLeftBorderType "CellLeftBorderType" 364 #define XmNcellLeftBorderColor "cellLeftBorderColor" 365 #define XmCCellLeftBorderColor "CellLeftBorderColor" 366 #define XmNcellMarginBottom "cellMarginBottom" 367 #define XmCCellMarginBottom "CellMarginBottom" 368 #define XmNcellMarginLeft "cellMarginLeft" 369 #define XmCCellMarginLeft "CellMarginLeft" 370 #define XmNcellMarginRight "cellMarginRight" 371 #define XmCCellMarginRight "CellMarginRight" 372 #define XmNcellMarginTop "cellMarginTop" 373 #define XmCCellMarginTop "CellMarginTop" 374 #define XmNcellRenderTable "cellRenderTable" 375 #define XmCCellRenderTable "CellRenderTable" 376 #define XmNcellPixmap "cellPixmap" 377 #define XmCCellPixmap "CellPixmap" 378 #define XmNcellPixmapMask "cellPixmapMask" 379 #define XmCCellPixmapMask "CellPixmapMask" 380 #define XmNcellRightBorderType "cellRightBorderType" 381 #define XmCCellRightBorderType "CellRightBorderType" 382 #define XmNcellRightBorderColor "cellRightBorderColor" 383 #define XmCCellRightBorderColor "CellRightBorderColor" 384 #define XmNcellRowSpan "cellRowSpan" 385 #define XmCCellRowSpan "CellRowSpan" 386 #define XmNcellString "cellString" 387 #define XmNcellToggleSet "cellToggleSet" 388 #define XmCCellToggleSet "CellToggleSet" 389 #define XmNcellTopBorderType "cellTopBorderType" 390 #define XmCCellTopBorderType "CellTopBorderType" 391 #define XmNcellTopBorderColor "cellTopBorderColor" 392 #define XmCCellTopBorderColor "CellTopBorderColor" 393 #define XmNcellType "cellType" 394 #define XmCCellType "CellType" 395 #define XmRCellType "CellType" 396 #define XmNcellUserData "cellUserData" 397 398 /* Grid callbacks */ 399 400 typedef struct _XmLGridDrawStruct 401 { 402 GC gc; 403 XRectangle *cellRect; 404 Dimension topMargin; 405 Dimension bottomMargin; 406 Dimension leftMargin; 407 Dimension rightMargin; 408 Pixel foreground; 409 Pixel background; 410 Pixel selectForeground; 411 Pixel selectBackground; 412 XmRenderTable renderTable; 413 unsigned char alignment; 414 Boolean drawSelected; 415 int drawFocusType; 416 XmStringDirection stringDirection; 417 } XmLGridDrawStruct; 418 419 typedef struct _XmLGridCallbackStruct 420 { 421 int reason; 422 XEvent *event; 423 unsigned char rowType, columnType; 424 int row, column; 425 XRectangle *clipRect; 426 XmLGridDrawStruct *drawInfo; 427 void *object; 428 } XmLGridCallbackStruct; 429 430 #define XmCR_ADD_ROW 900 431 #define XmCR_ADD_COLUMN 901 432 #define XmCR_ADD_CELL 902 433 #define XmCR_CELL_DRAW 903 434 #define XmCR_CELL_DROP 904 435 #define XmCR_CELL_FOCUS_IN 905 436 #define XmCR_CELL_FOCUS_OUT 906 437 #define XmCR_CELL_PASTE 907 438 #define XmCR_CONF_TEXT 908 439 #define XmCR_PREF_WIDTH 909 440 #define XmCR_DELETE_ROW 910 441 #define XmCR_DELETE_COLUMN 911 442 #define XmCR_DELETE_CELL 912 443 #define XmCR_EDIT_BEGIN 913 444 #define XmCR_EDIT_INSERT 914 445 #define XmCR_EDIT_CANCEL 915 446 #define XmCR_EDIT_COMPLETE 916 447 #define XmCR_FREE_VALUE 917 448 #define XmCR_RESIZE_ROW 918 449 #define XmCR_RESIZE_COLUMN 919 450 #define XmCR_PREF_HEIGHT 920 451 #define XmCR_SCROLL_ROW 921 452 #define XmCR_SCROLL_COLUMN 922 453 #define XmCR_SELECT_CELL 923 454 #define XmCR_SELECT_COLUMN 924 455 #define XmCR_SELECT_ROW 925 456 #define XmCR_DESELECT_CELL 926 457 #define XmCR_DESELECT_COLUMN 927 458 #define XmCR_DESELECT_ROW 928 459 460 /* xfe added callback reason */ 461 #define XmCR_RESIZE_GRID 929 462 #define XmCR_SHOW_POPUP 930 463 #define XmCR_SINGLECLICK 931 464 465 #define XmCR_ENTER_CELL 931 466 #define XmCR_ENTER_GRID 932 467 #define XmCR_LEAVE_CELL 933 468 #define XmCR_LEAVE_GRID 934 469 470 /* Grid defines */ 471 472 #define XmCONTENT 0 473 #define XmHEADING 1 474 #define XmFOOTER 2 475 #define XmALL_TYPES 3 476 #define XmINVALID_TYPE 4 477 478 #define XmICON_CELL 0 479 #define XmPIXMAP_CELL 1 480 #define XmSTRING_CELL 2 481 482 #define XmBORDER_NONE 0 483 #define XmBORDER_LINE 1 484 #define XmBORDER_DASH 2 485 486 #define XmFORMAT_DELIMITED 1 487 #define XmFORMAT_XL 2 488 #define XmFORMAT_PAD 3 489 #define XmFORMAT_PASTE 4 490 #define XmFORMAT_DROP 5 491 492 #define XmSELECT_NONE 1 493 #define XmSELECT_SINGLE_ROW 2 494 #define XmSELECT_BROWSE_ROW 3 495 #define XmSELECT_MULTIPLE_ROW 4 496 #define XmSELECT_CELL 5 497 498 #define XmDRAW_FOCUS_NONE 1 499 #define XmDRAW_FOCUS_CELL 2 500 #define XmDRAW_FOCUS_LEFT 3 501 #define XmDRAW_FOCUS_MID 4 502 #define XmDRAW_FOCUS_RIGHT 5 503 504 #define XmTRAVERSE_EXTEND_DOWN 20 505 #define XmTRAVERSE_EXTEND_LEFT 21 506 #define XmTRAVERSE_EXTEND_RIGHT 22 507 #define XmTRAVERSE_EXTEND_UP 23 508 #define XmTRAVERSE_PAGE_DOWN 24 509 #define XmTRAVERSE_PAGE_LEFT 25 510 #define XmTRAVERSE_PAGE_RIGHT 26 511 #define XmTRAVERSE_PAGE_UP 27 512 #define XmTRAVERSE_TO_BOTTOM 28 513 #define XmTRAVERSE_TO_TOP 29 514 515 #define XmALIGNMENT_LEFT 0 516 #ifndef XmALIGNMENT_CENTER 517 #define XmALIGNMENT_CENTER 1 518 #endif 519 #define XmALIGNMENT_RIGHT 2 520 #define XmALIGNMENT_TOP_LEFT 3 521 #define XmALIGNMENT_TOP 4 522 #define XmALIGNMENT_TOP_RIGHT 5 523 #define XmALIGNMENT_BOTTOM_LEFT 6 524 #define XmALIGNMENT_BOTTOM 7 525 #define XmALIGNMENT_BOTTOM_RIGHT 8 526 527 /* xfe additions */ 528 #define XmSORT_NONE 0 529 #define XmSORT_ASCENDING 1 530 #define XmSORT_DESCENDING 2 531 532 /* Progress resources */ 533 534 #define XmNcompleteValue "completeValue" 535 #define XmCCompleteValue "CompleteValue" 536 #define XmNnumBoxes "numBoxes" 537 #define XmCNumBoxes "NumBoxes" 538 #define XmNmeterStyle "meterStyle" 539 #define XmCMeterStyle "MeterStyle" 540 #define XmRMeterStyle "MeterStyle" 541 #define XmNshowPercentage "showPercentage" 542 #define XmCShowPercentage "ShowPercentage" 543 #define XmNshowTime "showTime" 544 #define XmCShowTime "ShowTime" 545 546 /* Progress defines */ 547 548 #define XmMETER_BAR 0 549 #define XmMETER_BOXES 1 550 551 /* Tree resources */ 552 553 #define XmNcollapseCallback "collapseCallback" 554 #define XmNconnectingLineColor "connectingLineColor" 555 #define XmCConnectingLineColor "ConnectingLineColor" 556 #define XmNexpandCallback "expandCallback" 557 #define XmNlevelSpacing "levelSpacing" 558 #define XmCLevelSpacing "LevelSpacing" 559 #define XmNplusMinusColor "plusMinusColor" 560 #define XmCPlusMinusColor "PlusMinusColor" 561 #define XmNrowExpands "rowExpands" 562 #define XmCRowExpands "RowExpands" 563 #define XmNrowIsExpanded "rowIsExpanded" 564 #define XmCRowIsExpanded "RowIsExpanded" 565 #define XmNrowLevel "rowLevel" 566 #define XmCRowLevel "RowLevel" 567 #define XmNignorePixmaps "ignorePixmaps" 568 #define XmCIgnorePixmaps "IgnorePixmaps" 569 570 /* Tree callbacks */ 571 572 typedef struct 573 { 574 int level; 575 Boolean expands; 576 Boolean isExpanded; 577 Pixmap pixmap, pixmask; 578 XmString string; 579 } XmLTreeRowDefinition; 580 581 #define XmCR_COLLAPSE_ROW 950 582 #define XmCR_EXPAND_ROW 951 583 584 /* Backwards compatibility */ 585 586 #ifdef XmLBACKWARDS_COMPATIBILITY 587 588 #define XmNfooterColumnCount "footerColumns" 589 #define XmNfooterRowCount "footerRows" 590 #define XmNheadingColumnCount "headingColumns" 591 #define XmNheadingRowCount "headingRows" 592 #define XmNcellBottomBorderPixel "cellBottomBorderColor" 593 #define XmCCellBottomBorderPixel "CellBottomBorderColor" 594 #define XmNcellLeftBorderPixel "cellLeftBorderColor" 595 #define XmCCellLeftBorderPixel "CellLeftBorderColor" 596 #define XmNcellRightBorderPixel "cellRightBorderColor" 597 #define XmCCellRightBorderPixel "CellRightBorderColor" 598 #define XmNcellTopBorderPixel "cellTopBorderColor" 599 #define XmCCellTopBorderPixel "CellTopBorderColor" 600 601 #define XmTEXT_CELL 250 602 #define XmLABEL_CELL 251 603 604 typedef void XmLCGridRow; 605 typedef void XmLCGridColumn; 606 typedef void XmLCGridCell; 607 608 #endif 609 610 /* Utility defines */ 611 612 #define XmDRAWNB_ARROW 0 613 #define XmDRAWNB_ARROWLINE 1 614 #define XmDRAWNB_DOUBLEARROW 2 615 #define XmDRAWNB_SQUARE 3 616 #define XmDRAWNB_DOUBLEBAR 4 617 #define XmDRAWNB_STRING 5 618 #define XmDRAWNB_SMALLARROW 6 619 620 #define XmDRAWNB_RIGHT 0 621 #define XmDRAWNB_LEFT 1 622 #define XmDRAWNB_UP 2 623 #define XmDRAWNB_DOWN 3 624 625 #define XmSTRING_RIGHT 0 626 #define XmSTRING_LEFT 1 627 #define XmSTRING_UP 2 628 #define XmSTRING_DOWN 3 629 630 enum { XmLRectInside, XmLRectOutside, XmLRectPartial }; 631 632 typedef struct 633 { 634 int pos; 635 } XmLArrayItem; 636 637 typedef struct _XmLArrayRec *XmLArray; 638 639 typedef struct 640 { 641 char *name; 642 unsigned char value; 643 } XmLStringToUCharMap; 644 645 /* Utility functions */ 646 647 typedef int (*XmLSortCompareFunc)(void *userData, void *l, void *r); 648 typedef int (*XmLArrayCompareFunc)(void *, void **, void **); 649 650 XmLArray XmLArrayNew(char autonumber, char growFast); 651 void XmLArrayFree(XmLArray array); 652 void XmLArrayAdd(XmLArray array, int pos, int count); 653 int XmLArrayDel(XmLArray array, int pos, int count); 654 int XmLArraySet(XmLArray array, int pos, void *item); 655 void *XmLArrayGet(XmLArray array, int pos); 656 int XmLArrayGetCount(XmLArray array); 657 int XmLArrayMove(XmLArray array, int newPos, int pos, int count); 658 int XmLArrayReorder(XmLArray array, int *newPositions, 659 int pos, int count); 660 int XmLArraySort(XmLArray array, XmLArrayCompareFunc compare, 661 void *userData, int pos, int count); 662 Boolean XmLCvtStringToUChar(Display *dpy, char *resname, 663 XmLStringToUCharMap *map, XrmValuePtr fromVal, XrmValuePtr toVal); 664 int XmLDateDaysInMonth(int m, int y); 665 int XmLDateWeekDay(int m, int d, int y); 666 void XmLDrawnButtonSetType(Widget w, int drawnType, int drawnDir); 667 void XmLDrawToggle(Widget w, Boolean state, Dimension size, 668 unsigned char alignment, GC gc, Pixel backgroundColor, 669 Pixel topColor, Pixel bottomColor, Pixel checkColor, 670 XRectangle *rect, XRectangle *clipRect); 671 XmFontList XmLFontListCopyDefault(Widget widget); 672 XmRenderTable XmLRenderTableCopyDefault(Widget widget); 673 void XmLFontListGetDimensions(Widget w, XmFontList fontList, short *width, 674 short *height, Boolean useAverageWidth); 675 void XmLRenderTableGetDimensions(Widget w, XmRenderTable renderTable, short *width, 676 short *height, Boolean useAverageWidth); 677 void XmLInitialize(void); 678 int XmLMessageBox(Widget w, char *string, Boolean okOnly); 679 void XmLPixmapDraw(Widget w, Pixmap pixmap, Pixmap pixmask, 680 int pixmapWidth, int pixmapHeight, unsigned char alignment, 681 GC gc, XRectangle *rect, XRectangle *clipRect); 682 int XmLRectIntersect(XRectangle *r1, XRectangle *r2); 683 Widget XmLShellOfWidget(Widget w); 684 void XmLSort(void *base, int numItems, unsigned int itemSize, 685 XmLSortCompareFunc, void *userData); 686 void XmLStringDraw(Widget w, XmString string, XmStringDirection stringDir, 687 XmRenderTable renderTable, unsigned char alignment, GC gc, 688 XRectangle *rect, XRectangle *clipRect); 689 void XmLStringDrawDirection(Display *dpy, Window win, XmRenderTable rendertable, 690 XmString string, GC gc, int x, int y, Dimension width, 691 unsigned char alignment, unsigned char layout_direction, 692 unsigned char drawing_direction); 693 void XmLWarning(Widget w, char *msg); 694 695 #ifdef XmL_CPP 696 } 697 #endif 698 #endif 699