Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 
 
 

585 рядки
13 KiB

  1. /* GTK - The GIMP Toolkit
  2. * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
  3. *
  4. * This library is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU Lesser General Public
  6. * License as published by the Free Software Foundation; either
  7. * version 2 of the License, or (at your option) any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. * Lesser General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU Lesser General Public
  15. * License along with this library; if not, write to the
  16. * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  17. * Boston, MA 02111-1307, USA.
  18. */
  19. /*
  20. * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
  21. * file for a list of people on the GTK+ Team. See the ChangeLog
  22. * files for a list of changes. These files are distributed with
  23. * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
  24. */
  25. #if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
  26. #error "Only <gtk/gtk.h> can be included directly."
  27. #endif
  28. #ifndef __GTK_ENUMS_H__
  29. #define __GTK_ENUMS_H__
  30. #include <glib-object.h>
  31. G_BEGIN_DECLS
  32. /* Anchor types */
  33. typedef enum
  34. {
  35. GTK_ANCHOR_CENTER,
  36. GTK_ANCHOR_NORTH,
  37. GTK_ANCHOR_NORTH_WEST,
  38. GTK_ANCHOR_NORTH_EAST,
  39. GTK_ANCHOR_SOUTH,
  40. GTK_ANCHOR_SOUTH_WEST,
  41. GTK_ANCHOR_SOUTH_EAST,
  42. GTK_ANCHOR_WEST,
  43. GTK_ANCHOR_EAST,
  44. GTK_ANCHOR_N = GTK_ANCHOR_NORTH,
  45. GTK_ANCHOR_NW = GTK_ANCHOR_NORTH_WEST,
  46. GTK_ANCHOR_NE = GTK_ANCHOR_NORTH_EAST,
  47. GTK_ANCHOR_S = GTK_ANCHOR_SOUTH,
  48. GTK_ANCHOR_SW = GTK_ANCHOR_SOUTH_WEST,
  49. GTK_ANCHOR_SE = GTK_ANCHOR_SOUTH_EAST,
  50. GTK_ANCHOR_W = GTK_ANCHOR_WEST,
  51. GTK_ANCHOR_E = GTK_ANCHOR_EAST
  52. } GtkAnchorType;
  53. /* Arrow placement */
  54. typedef enum
  55. {
  56. GTK_ARROWS_BOTH,
  57. GTK_ARROWS_START,
  58. GTK_ARROWS_END
  59. } GtkArrowPlacement;
  60. /* Arrow types */
  61. typedef enum
  62. {
  63. GTK_ARROW_UP,
  64. GTK_ARROW_DOWN,
  65. GTK_ARROW_LEFT,
  66. GTK_ARROW_RIGHT,
  67. GTK_ARROW_NONE
  68. } GtkArrowType;
  69. /* Attach options (for tables) */
  70. typedef enum
  71. {
  72. GTK_EXPAND = 1 << 0,
  73. GTK_SHRINK = 1 << 1,
  74. GTK_FILL = 1 << 2
  75. } GtkAttachOptions;
  76. /* Button box styles */
  77. typedef enum
  78. {
  79. GTK_BUTTONBOX_DEFAULT_STYLE,
  80. GTK_BUTTONBOX_SPREAD,
  81. GTK_BUTTONBOX_EDGE,
  82. GTK_BUTTONBOX_START,
  83. GTK_BUTTONBOX_END,
  84. GTK_BUTTONBOX_CENTER
  85. } GtkButtonBoxStyle;
  86. #ifndef GTK_DISABLE_DEPRECATED
  87. /* Curve types */
  88. typedef enum
  89. {
  90. GTK_CURVE_TYPE_LINEAR, /* linear interpolation */
  91. GTK_CURVE_TYPE_SPLINE, /* spline interpolation */
  92. GTK_CURVE_TYPE_FREE /* free form curve */
  93. } GtkCurveType;
  94. #endif
  95. typedef enum
  96. {
  97. GTK_DELETE_CHARS,
  98. GTK_DELETE_WORD_ENDS, /* delete only the portion of the word to the
  99. * left/right of cursor if we're in the middle
  100. * of a word */
  101. GTK_DELETE_WORDS,
  102. GTK_DELETE_DISPLAY_LINES,
  103. GTK_DELETE_DISPLAY_LINE_ENDS,
  104. GTK_DELETE_PARAGRAPH_ENDS, /* like C-k in Emacs (or its reverse) */
  105. GTK_DELETE_PARAGRAPHS, /* C-k in pico, kill whole line */
  106. GTK_DELETE_WHITESPACE /* M-\ in Emacs */
  107. } GtkDeleteType;
  108. /* Focus movement types */
  109. typedef enum
  110. {
  111. GTK_DIR_TAB_FORWARD,
  112. GTK_DIR_TAB_BACKWARD,
  113. GTK_DIR_UP,
  114. GTK_DIR_DOWN,
  115. GTK_DIR_LEFT,
  116. GTK_DIR_RIGHT
  117. } GtkDirectionType;
  118. /* Expander styles */
  119. typedef enum
  120. {
  121. GTK_EXPANDER_COLLAPSED,
  122. GTK_EXPANDER_SEMI_COLLAPSED,
  123. GTK_EXPANDER_SEMI_EXPANDED,
  124. GTK_EXPANDER_EXPANDED
  125. } GtkExpanderStyle;
  126. /* Built-in stock icon sizes */
  127. typedef enum
  128. {
  129. GTK_ICON_SIZE_INVALID,
  130. GTK_ICON_SIZE_MENU,
  131. GTK_ICON_SIZE_SMALL_TOOLBAR,
  132. GTK_ICON_SIZE_LARGE_TOOLBAR,
  133. GTK_ICON_SIZE_BUTTON,
  134. GTK_ICON_SIZE_DND,
  135. GTK_ICON_SIZE_DIALOG
  136. } GtkIconSize;
  137. /* automatic sensitivity */
  138. typedef enum
  139. {
  140. GTK_SENSITIVITY_AUTO,
  141. GTK_SENSITIVITY_ON,
  142. GTK_SENSITIVITY_OFF
  143. } GtkSensitivityType;
  144. #ifndef GTK_DISABLE_DEPRECATED
  145. /* side types */
  146. typedef enum
  147. {
  148. GTK_SIDE_TOP,
  149. GTK_SIDE_BOTTOM,
  150. GTK_SIDE_LEFT,
  151. GTK_SIDE_RIGHT
  152. } GtkSideType;
  153. #endif /* GTK_DISABLE_DEPRECATED */
  154. /* Reading directions for text */
  155. typedef enum
  156. {
  157. GTK_TEXT_DIR_NONE,
  158. GTK_TEXT_DIR_LTR,
  159. GTK_TEXT_DIR_RTL
  160. } GtkTextDirection;
  161. /* justification for label and maybe other widgets (text?) */
  162. typedef enum
  163. {
  164. GTK_JUSTIFY_LEFT,
  165. GTK_JUSTIFY_RIGHT,
  166. GTK_JUSTIFY_CENTER,
  167. GTK_JUSTIFY_FILL
  168. } GtkJustification;
  169. #ifndef GTK_DISABLE_DEPRECATED
  170. /* GtkPatternSpec match types */
  171. typedef enum
  172. {
  173. GTK_MATCH_ALL, /* "*A?A*" */
  174. GTK_MATCH_ALL_TAIL, /* "*A?AA" */
  175. GTK_MATCH_HEAD, /* "AAAA*" */
  176. GTK_MATCH_TAIL, /* "*AAAA" */
  177. GTK_MATCH_EXACT, /* "AAAAA" */
  178. GTK_MATCH_LAST
  179. } GtkMatchType;
  180. #endif /* GTK_DISABLE_DEPRECATED */
  181. /* Menu keyboard movement types */
  182. typedef enum
  183. {
  184. GTK_MENU_DIR_PARENT,
  185. GTK_MENU_DIR_CHILD,
  186. GTK_MENU_DIR_NEXT,
  187. GTK_MENU_DIR_PREV
  188. } GtkMenuDirectionType;
  189. /**
  190. * GtkMessageType:
  191. * @GTK_MESSAGE_INFO: Informational message
  192. * @GTK_MESSAGE_WARNING: Nonfatal warning message
  193. * @GTK_MESSAGE_QUESTION: Question requiring a choice
  194. * @GTK_MESSAGE_ERROR: Fatal error message
  195. * @GTK_MESSAGE_OTHER: None of the above, doesn't get an icon
  196. *
  197. * The type of message being displayed in the dialog.
  198. */
  199. typedef enum
  200. {
  201. GTK_MESSAGE_INFO,
  202. GTK_MESSAGE_WARNING,
  203. GTK_MESSAGE_QUESTION,
  204. GTK_MESSAGE_ERROR,
  205. GTK_MESSAGE_OTHER
  206. } GtkMessageType;
  207. typedef enum
  208. {
  209. GTK_PIXELS,
  210. GTK_INCHES,
  211. GTK_CENTIMETERS
  212. } GtkMetricType;
  213. typedef enum
  214. {
  215. GTK_MOVEMENT_LOGICAL_POSITIONS, /* move by forw/back graphemes */
  216. GTK_MOVEMENT_VISUAL_POSITIONS, /* move by left/right graphemes */
  217. GTK_MOVEMENT_WORDS, /* move by forward/back words */
  218. GTK_MOVEMENT_DISPLAY_LINES, /* move up/down lines (wrapped lines) */
  219. GTK_MOVEMENT_DISPLAY_LINE_ENDS, /* move to either end of a line */
  220. GTK_MOVEMENT_PARAGRAPHS, /* move up/down paragraphs (newline-ended lines) */
  221. GTK_MOVEMENT_PARAGRAPH_ENDS, /* move to either end of a paragraph */
  222. GTK_MOVEMENT_PAGES, /* move by pages */
  223. GTK_MOVEMENT_BUFFER_ENDS, /* move to ends of the buffer */
  224. GTK_MOVEMENT_HORIZONTAL_PAGES /* move horizontally by pages */
  225. } GtkMovementStep;
  226. typedef enum
  227. {
  228. GTK_SCROLL_STEPS,
  229. GTK_SCROLL_PAGES,
  230. GTK_SCROLL_ENDS,
  231. GTK_SCROLL_HORIZONTAL_STEPS,
  232. GTK_SCROLL_HORIZONTAL_PAGES,
  233. GTK_SCROLL_HORIZONTAL_ENDS
  234. } GtkScrollStep;
  235. /* Orientation for toolbars, etc. */
  236. typedef enum
  237. {
  238. GTK_ORIENTATION_HORIZONTAL,
  239. GTK_ORIENTATION_VERTICAL
  240. } GtkOrientation;
  241. /* Placement type for scrolled window */
  242. typedef enum
  243. {
  244. GTK_CORNER_TOP_LEFT,
  245. GTK_CORNER_BOTTOM_LEFT,
  246. GTK_CORNER_TOP_RIGHT,
  247. GTK_CORNER_BOTTOM_RIGHT
  248. } GtkCornerType;
  249. /* Packing types (for boxes) */
  250. typedef enum
  251. {
  252. GTK_PACK_START,
  253. GTK_PACK_END
  254. } GtkPackType;
  255. /* priorities for path lookups */
  256. typedef enum
  257. {
  258. GTK_PATH_PRIO_LOWEST = 0,
  259. GTK_PATH_PRIO_GTK = 4,
  260. GTK_PATH_PRIO_APPLICATION = 8,
  261. GTK_PATH_PRIO_THEME = 10,
  262. GTK_PATH_PRIO_RC = 12,
  263. GTK_PATH_PRIO_HIGHEST = 15
  264. } GtkPathPriorityType;
  265. #define GTK_PATH_PRIO_MASK 0x0f
  266. /* widget path types */
  267. typedef enum
  268. {
  269. GTK_PATH_WIDGET,
  270. GTK_PATH_WIDGET_CLASS,
  271. GTK_PATH_CLASS
  272. } GtkPathType;
  273. /* Scrollbar policy types (for scrolled windows) */
  274. typedef enum
  275. {
  276. GTK_POLICY_ALWAYS,
  277. GTK_POLICY_AUTOMATIC,
  278. GTK_POLICY_NEVER
  279. } GtkPolicyType;
  280. typedef enum
  281. {
  282. GTK_POS_LEFT,
  283. GTK_POS_RIGHT,
  284. GTK_POS_TOP,
  285. GTK_POS_BOTTOM
  286. } GtkPositionType;
  287. #ifndef GTK_DISABLE_DEPRECATED
  288. typedef enum
  289. {
  290. GTK_PREVIEW_COLOR,
  291. GTK_PREVIEW_GRAYSCALE
  292. } GtkPreviewType;
  293. #endif /* GTK_DISABLE_DEPRECATED */
  294. /* Style for buttons */
  295. typedef enum
  296. {
  297. GTK_RELIEF_NORMAL,
  298. GTK_RELIEF_HALF,
  299. GTK_RELIEF_NONE
  300. } GtkReliefStyle;
  301. /* Resize type */
  302. typedef enum
  303. {
  304. GTK_RESIZE_PARENT, /* Pass resize request to the parent */
  305. GTK_RESIZE_QUEUE, /* Queue resizes on this widget */
  306. GTK_RESIZE_IMMEDIATE /* Perform the resizes now */
  307. } GtkResizeMode;
  308. #ifndef GTK_DISABLE_DEPRECATED
  309. /* signal run types */
  310. typedef enum /*< flags >*/
  311. {
  312. GTK_RUN_FIRST = G_SIGNAL_RUN_FIRST,
  313. GTK_RUN_LAST = G_SIGNAL_RUN_LAST,
  314. GTK_RUN_BOTH = (GTK_RUN_FIRST | GTK_RUN_LAST),
  315. GTK_RUN_NO_RECURSE = G_SIGNAL_NO_RECURSE,
  316. GTK_RUN_ACTION = G_SIGNAL_ACTION,
  317. GTK_RUN_NO_HOOKS = G_SIGNAL_NO_HOOKS
  318. } GtkSignalRunType;
  319. #endif /* GTK_DISABLE_DEPRECATED */
  320. /* scrolling types */
  321. typedef enum
  322. {
  323. GTK_SCROLL_NONE,
  324. GTK_SCROLL_JUMP,
  325. GTK_SCROLL_STEP_BACKWARD,
  326. GTK_SCROLL_STEP_FORWARD,
  327. GTK_SCROLL_PAGE_BACKWARD,
  328. GTK_SCROLL_PAGE_FORWARD,
  329. GTK_SCROLL_STEP_UP,
  330. GTK_SCROLL_STEP_DOWN,
  331. GTK_SCROLL_PAGE_UP,
  332. GTK_SCROLL_PAGE_DOWN,
  333. GTK_SCROLL_STEP_LEFT,
  334. GTK_SCROLL_STEP_RIGHT,
  335. GTK_SCROLL_PAGE_LEFT,
  336. GTK_SCROLL_PAGE_RIGHT,
  337. GTK_SCROLL_START,
  338. GTK_SCROLL_END
  339. } GtkScrollType;
  340. /* list selection modes */
  341. typedef enum
  342. {
  343. GTK_SELECTION_NONE, /* Nothing can be selected */
  344. GTK_SELECTION_SINGLE,
  345. GTK_SELECTION_BROWSE,
  346. GTK_SELECTION_MULTIPLE,
  347. GTK_SELECTION_EXTENDED = GTK_SELECTION_MULTIPLE /* Deprecated */
  348. } GtkSelectionMode;
  349. /* Shadow types */
  350. typedef enum
  351. {
  352. GTK_SHADOW_NONE,
  353. GTK_SHADOW_IN,
  354. GTK_SHADOW_OUT,
  355. GTK_SHADOW_ETCHED_IN,
  356. GTK_SHADOW_ETCHED_OUT
  357. } GtkShadowType;
  358. /* Widget states */
  359. typedef enum
  360. {
  361. GTK_STATE_NORMAL,
  362. GTK_STATE_ACTIVE,
  363. GTK_STATE_PRELIGHT,
  364. GTK_STATE_SELECTED,
  365. GTK_STATE_INSENSITIVE
  366. } GtkStateType;
  367. #if !defined(GTK_DISABLE_DEPRECATED) || defined (GTK_MENU_INTERNALS)
  368. /* Directions for submenus */
  369. typedef enum
  370. {
  371. GTK_DIRECTION_LEFT,
  372. GTK_DIRECTION_RIGHT
  373. } GtkSubmenuDirection;
  374. /* Placement of submenus */
  375. typedef enum
  376. {
  377. GTK_TOP_BOTTOM,
  378. GTK_LEFT_RIGHT
  379. } GtkSubmenuPlacement;
  380. #endif /* GTK_DISABLE_DEPRECATED */
  381. /* Style for toolbars */
  382. typedef enum
  383. {
  384. GTK_TOOLBAR_ICONS,
  385. GTK_TOOLBAR_TEXT,
  386. GTK_TOOLBAR_BOTH,
  387. GTK_TOOLBAR_BOTH_HORIZ
  388. } GtkToolbarStyle;
  389. /* Data update types (for ranges) */
  390. typedef enum
  391. {
  392. GTK_UPDATE_CONTINUOUS,
  393. GTK_UPDATE_DISCONTINUOUS,
  394. GTK_UPDATE_DELAYED
  395. } GtkUpdateType;
  396. /* Generic visibility flags */
  397. typedef enum
  398. {
  399. GTK_VISIBILITY_NONE,
  400. GTK_VISIBILITY_PARTIAL,
  401. GTK_VISIBILITY_FULL
  402. } GtkVisibility;
  403. /* Window position types */
  404. typedef enum
  405. {
  406. GTK_WIN_POS_NONE,
  407. GTK_WIN_POS_CENTER,
  408. GTK_WIN_POS_MOUSE,
  409. GTK_WIN_POS_CENTER_ALWAYS,
  410. GTK_WIN_POS_CENTER_ON_PARENT
  411. } GtkWindowPosition;
  412. /* Window types */
  413. typedef enum
  414. {
  415. GTK_WINDOW_TOPLEVEL,
  416. GTK_WINDOW_POPUP
  417. } GtkWindowType;
  418. /* Text wrap */
  419. typedef enum
  420. {
  421. GTK_WRAP_NONE,
  422. GTK_WRAP_CHAR,
  423. GTK_WRAP_WORD,
  424. GTK_WRAP_WORD_CHAR
  425. } GtkWrapMode;
  426. /* How to sort */
  427. typedef enum
  428. {
  429. GTK_SORT_ASCENDING,
  430. GTK_SORT_DESCENDING
  431. } GtkSortType;
  432. /* Style for gtk input method preedit/status */
  433. typedef enum
  434. {
  435. GTK_IM_PREEDIT_NOTHING,
  436. GTK_IM_PREEDIT_CALLBACK,
  437. GTK_IM_PREEDIT_NONE
  438. } GtkIMPreeditStyle;
  439. typedef enum
  440. {
  441. GTK_IM_STATUS_NOTHING,
  442. GTK_IM_STATUS_CALLBACK,
  443. GTK_IM_STATUS_NONE
  444. } GtkIMStatusStyle;
  445. typedef enum
  446. {
  447. GTK_PACK_DIRECTION_LTR,
  448. GTK_PACK_DIRECTION_RTL,
  449. GTK_PACK_DIRECTION_TTB,
  450. GTK_PACK_DIRECTION_BTT
  451. } GtkPackDirection;
  452. typedef enum
  453. {
  454. GTK_PRINT_PAGES_ALL,
  455. GTK_PRINT_PAGES_CURRENT,
  456. GTK_PRINT_PAGES_RANGES,
  457. GTK_PRINT_PAGES_SELECTION
  458. } GtkPrintPages;
  459. typedef enum
  460. {
  461. GTK_PAGE_SET_ALL,
  462. GTK_PAGE_SET_EVEN,
  463. GTK_PAGE_SET_ODD
  464. } GtkPageSet;
  465. typedef enum
  466. {
  467. GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM, /*< nick=lrtb >*/
  468. GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP, /*< nick=lrbt >*/
  469. GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM, /*< nick=rltb >*/
  470. GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP, /*< nick=rlbt >*/
  471. GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT, /*< nick=tblr >*/
  472. GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT, /*< nick=tbrl >*/
  473. GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT, /*< nick=btlr >*/
  474. GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT /*< nick=btrl >*/
  475. } GtkNumberUpLayout;
  476. typedef enum
  477. {
  478. GTK_PAGE_ORIENTATION_PORTRAIT,
  479. GTK_PAGE_ORIENTATION_LANDSCAPE,
  480. GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT,
  481. GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE
  482. } GtkPageOrientation;
  483. typedef enum
  484. {
  485. GTK_PRINT_QUALITY_LOW,
  486. GTK_PRINT_QUALITY_NORMAL,
  487. GTK_PRINT_QUALITY_HIGH,
  488. GTK_PRINT_QUALITY_DRAFT
  489. } GtkPrintQuality;
  490. typedef enum
  491. {
  492. GTK_PRINT_DUPLEX_SIMPLEX,
  493. GTK_PRINT_DUPLEX_HORIZONTAL,
  494. GTK_PRINT_DUPLEX_VERTICAL
  495. } GtkPrintDuplex;
  496. typedef enum
  497. {
  498. GTK_UNIT_PIXEL,
  499. GTK_UNIT_POINTS,
  500. GTK_UNIT_INCH,
  501. GTK_UNIT_MM
  502. } GtkUnit;
  503. typedef enum
  504. {
  505. GTK_TREE_VIEW_GRID_LINES_NONE,
  506. GTK_TREE_VIEW_GRID_LINES_HORIZONTAL,
  507. GTK_TREE_VIEW_GRID_LINES_VERTICAL,
  508. GTK_TREE_VIEW_GRID_LINES_BOTH
  509. } GtkTreeViewGridLines;
  510. typedef enum
  511. {
  512. GTK_DRAG_RESULT_SUCCESS,
  513. GTK_DRAG_RESULT_NO_TARGET,
  514. GTK_DRAG_RESULT_USER_CANCELLED,
  515. GTK_DRAG_RESULT_TIMEOUT_EXPIRED,
  516. GTK_DRAG_RESULT_GRAB_BROKEN,
  517. GTK_DRAG_RESULT_ERROR
  518. } GtkDragResult;
  519. G_END_DECLS
  520. #endif /* __GTK_ENUMS_H__ */