components.hpp 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. /* hiro components
  2. *
  3. * By commenting out lines below, individual components of hiro can be disabled.)
  4. * This can be useful to avoid dependencies (eg GTK+ relies on GtkSourceView for SourceEdit.)
  5. * It's also very useful for porting hiro to new targets; or performing major core changes.
  6. *
  7. * Note that the core classes (Application, Window, Sizable, etc) have circular dependencies.
  8. * Disabling only certain core pieces will result in compilation errors.
  9. * As such, this file is really only meant for disabling individual widgets or menu items.
  10. */
  11. #define Hiro_Color
  12. #define Hiro_Gradient
  13. #define Hiro_Alignment
  14. #define Hiro_TextCursor
  15. #define Hiro_Position
  16. #define Hiro_Size
  17. #define Hiro_Geometry
  18. #define Hiro_Font
  19. #define Hiro_MouseCursor
  20. #define Hiro_Application
  21. #define Hiro_Desktop
  22. #define Hiro_Monitor
  23. #define Hiro_Keyboard
  24. #define Hiro_Mouse
  25. #define Hiro_BrowserWindow
  26. #define Hiro_MessageWindow
  27. #define Hiro_Attribute
  28. #define Hiro_Object
  29. #define Hiro_Group
  30. #define Hiro_Hotkey
  31. #define Hiro_Timer
  32. #define Hiro_Window
  33. #define Hiro_StatusBar
  34. #define Hiro_MenuBar
  35. #define Hiro_PopupMenu
  36. #define Hiro_Action
  37. #define Hiro_Menu
  38. #define Hiro_MenuSeparator
  39. #define Hiro_MenuItem
  40. #define Hiro_MenuCheckItem
  41. #define Hiro_MenuRadioItem
  42. #define Hiro_Sizable
  43. #define Hiro_Widget
  44. #define Hiro_Button
  45. #define Hiro_Canvas
  46. #define Hiro_CheckButton
  47. #define Hiro_CheckLabel
  48. #define Hiro_ComboButton
  49. #define Hiro_ComboEdit
  50. #define Hiro_Console
  51. #define Hiro_Frame
  52. #define Hiro_HexEdit
  53. #define Hiro_HorizontalScrollBar
  54. #define Hiro_HorizontalSlider
  55. #define Hiro_IconView
  56. #define Hiro_Label
  57. #define Hiro_LineEdit
  58. #define Hiro_ProgressBar
  59. #define Hiro_RadioButton
  60. #define Hiro_RadioLabel
  61. //#define Hiro_SourceEdit //added via GNUmakefile
  62. #define Hiro_TabFrame
  63. #define Hiro_TableView
  64. #define Hiro_TextEdit
  65. #define Hiro_TreeView
  66. #define Hiro_VerticalScrollBar
  67. #define Hiro_VerticalSlider
  68. #define Hiro_Viewport
  69. //platform-specific exclusions
  70. #if defined(HIRO_WINDOWS) || defined(HIRO_COCOA) || defined(HIRO_QT)
  71. #undef Hiro_ComboEdit
  72. #undef Hiro_Console
  73. #undef Hiro_IconView
  74. #undef Hiro_SourceEdit
  75. #undef Hiro_TreeView
  76. #endif
  77. #if defined(HIRO_COCOA)
  78. #undef Hiro_HexEdit
  79. #endif
  80. //extensions
  81. #define Hiro_FixedLayout
  82. #define Hiro_HorizontalLayout
  83. #define Hiro_VerticalLayout
  84. #define Hiro_TableLayout
  85. #if defined(Hiro_Timer) && defined(Hiro_Canvas)
  86. #define Hiro_HorizontalResizeGrip
  87. #define Hiro_VerticalResizeGrip
  88. #endif
  89. #if defined(Hiro_TableView)
  90. #define Hiro_ListView
  91. #endif
  92. #if defined(Hiro_Button) && defined(Hiro_Canvas) && defined(Hiro_Label)
  93. #define Hiro_MessageDialog
  94. #define Hiro_NameDialog
  95. #endif
  96. #if defined(Hiro_Button) && defined(Hiro_ComboButton) && defined(Hiro_LineEdit) && defined(Hiro_ListView) && defined(Hiro_MessageDialog) && defined(Hiro_NameDialog)
  97. #define Hiro_BrowserDialog
  98. #endif
  99. #if defined(Hiro_Canvas) && defined(Hiro_Label)
  100. #define Hiro_AboutDialog
  101. #endif