wxpythonlib.dox 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408
  1. /*! \page wxpythonlib GRASS WxPython-based Graphical User Interface
  2. The GUI (Graphical User Interface) is written in the Python
  3. programming language using <a
  4. href="http://www.wxpython.org">wxPython</a> library - a blending of
  5. the <a href="http://www.wxwidgets.org">wxWidgets</a> library for
  6. Python.
  7. The wxPython GUI (so called <em>wxGUI</em>) is composed of two main
  8. <em>components</em>:
  9. - <b>Layer Manager</b> and
  10. - <b>Map Display Window</b>.
  11. The <em>Layer Manager</em> allows users to run different GRASS modules
  12. from a menu, includes map layer management, integrated command-line
  13. prompt, and command output window. The <em>Map Display Window</em>
  14. integrates basic tools for zooming, panning, data querying,
  15. decorations (north arrows, barscale, etc.). Additional tools like
  16. vector digitizer or georectification tool are also available.
  17. <b>Table of content</b>
  18. - \ref background
  19. - \ref classes
  20. - \ref core
  21. - \ref lmgr
  22. - \ref mapdisp
  23. - \ref wscreen
  24. - \ref atm
  25. - \ref georect
  26. - \ref gmodeler
  27. - \ref vdigit
  28. - \ref wxnviz
  29. - \ref locWizard
  30. - \ref mcalc
  31. - \ref misc
  32. - \ref devel
  33. - \ref seeAlso
  34. - \ref refs
  35. \section background Background
  36. The plan for a native GUI for GRASS found its origin in the project <a
  37. href="http://geo.fsv.cvut.cz/~landa/publications/2008/unpublished/fbk-report/technology-for-geoinformatics.html">GFOSS-TN</a>,
  38. a collaboration between <a href="http://www.fbk.eu">FBK</a>
  39. (Fondazione Bruno Kessler) and the Information System Service of the
  40. Trento municipality (Italy). The wxGUI is successor of Tcl/Tk GUI
  41. available in GRASS 5 and GRASS 6.
  42. \section classes List of Modules and Classes
  43. \subsection core Core modules
  44. - gui_modules/debug.py
  45. - gui_modules::debug::DebugMsg
  46. - gui_modules/gcmd.py
  47. - gui_modules::gcmd::GError
  48. - gui_modules::gcmd::GWarning
  49. - gui_modules::gcmd::GMessage
  50. - gui_modules::gcmd::GException
  51. - gui_modules::gcmd::Popen
  52. - gui_modules::gcmd::Command
  53. - gui_modules::gcmd::CommandThread
  54. - gui_modules/globalvar.py
  55. - gui_modules/gselect.py
  56. - gui_modules::gselect::Select
  57. - gui_modules::gselect::VectorSelect
  58. - gui_modules::gselect::TreeCtrlComboPopup
  59. - gui_modules::gselect::VectorDBInfo
  60. - gui_modules::gselect::LayerSelect
  61. - gui_modules::gselect::LayerNameSelect
  62. - gui_modules::gselect::DriverSelect
  63. - gui_modules::gselect::DatabaseSelect
  64. - gui_modules::gselect::TableSelect
  65. - gui_modules::gselect::ColumnSelect
  66. - gui_modules::gselect::LocationSelect
  67. - gui_modules::gselect::MapsetSelect
  68. - gui_modules::gselect::SubGroupSelect
  69. - gui_modules::gselect::FormatSelect
  70. - gui_modules::gselect::GdalSelect
  71. - gui_modules/menuform.py
  72. - gui_modules::menuform::UpdateThread
  73. - gui_modules::menuform::UpdateQThread
  74. - gui_modules::menuform::grassTask
  75. - gui_modules::menuform::processTask
  76. - gui_modules::menuform::mainFrame
  77. - gui_modules::menuform::cmdPanel
  78. - gui_modules::menuform::GrassGUIApp
  79. - gui_modules::menuform::GUI
  80. - gui_modules::menuform::FloatValidator
  81. - gui_modules/units.py
  82. - gui_modules::units::BaseUnits
  83. - gui_modules/utils.py
  84. \subsection lmgr Layer Manager
  85. - wxgui.py
  86. - wxgui::GMFrame
  87. - wxgui::GMApp
  88. - gui_modules/layertree.py
  89. - gui_modules::layertree::LayerTree
  90. - gui_modules/goutput.py
  91. - gui_modules::goutput::CmdThread
  92. - gui_modules::goutput::GMConsole
  93. - gui_modules::goutput::GMStdout
  94. - gui_modules::goutput::GMStderr
  95. - gui_modules::goutput::GMStc
  96. - gui_modules/ghelp.py
  97. - gui_modules::ghelp::HelpFrame
  98. - gui_modules::ghelp::SearchModuleWindow
  99. - gui_modules::ghelp::MenuTreeWindow
  100. - gui_modules::ghelp::ItemTree
  101. - gui_modules::ghelp::MenuTree
  102. - gui_modules::ghelp::AboutWindow
  103. - gui_modules::ghelp::InstallExtensionWindow
  104. - gui_modules::ghelp::ExtensionTree
  105. - gui_modules::ghelp::HelpWindow
  106. - gui_modules::ghelp::HelpPanel
  107. - gui_modules/menudata.py
  108. - gui_modules::menudata::MenuData
  109. - gui_modules::menudata::ManagerData
  110. - gui_modules::menudata::ModelerData
  111. - gui_modules/menu.py
  112. - gui_modules::menu::Menu
  113. - gui_modules/preferences.py
  114. - gui_modules::preferences::Settings
  115. - gui_modules::preferences::PreferencesBaseDialog
  116. - gui_modules::preferences::PreferencesDialog
  117. - gui_modules::preferences::DefaultFontDialog
  118. - gui_modules::preferences::MapsetAccess
  119. - gui_modules::preferences::CheckListMapset
  120. - gui_modules/prompt.py
  121. - gui_modules::prompt::PromptListCtrl
  122. - gui_modules::prompt::TextCtrlAutoComplete
  123. - gui_modules::prompt::GPrompt
  124. - gui_modules::prompt::GPromptPopUp
  125. - gui_modules::prompt::GPromptSTC
  126. \subsection mapdisp Map Display Window
  127. - gui_modules/disp_print.py
  128. - gui_modules::disp_print::MapPrint
  129. - gui_modules::disp_print::PrintOptions
  130. - gui_modules/mapdisp_command.py
  131. - gui_modules::mapdisp_command::Command
  132. - gui_modules/mapdisp.py
  133. - gui_modules::mapdisp::MapFrame
  134. - gui_modules::mapdisp::MapApp
  135. - gui_modules/mapdisp_window.py
  136. - gui_modules::mapdisp_window::MapWindow
  137. - gui_modules::mapdisp_window::BufferedWindow
  138. - gui_modules/render.py
  139. - gui_modules::render::Layer
  140. - gui_modules::render::MapLayer
  141. - gui_modules::render::Overlay
  142. - gui_modules::render::Map
  143. - gui_modules/toolbars.py
  144. - gui_modules::toolbars::AbstractToolbar
  145. - gui_modules::toolbars::MapToolbar
  146. - gui_modules::toolbars::GCPManToolbar
  147. - gui_modules::toolbars::GCPDisplayToolbar
  148. - gui_modules::toolbars::GRToolbar
  149. - gui_modules::toolbars::GCPToolbar
  150. - gui_modules::toolbars::VDigitToolbar
  151. - gui_modules::toolbars::ProfileToolbar
  152. - gui_modules::toolbars::NvizToolbar
  153. - gui_modules::toolbars::ModelToolbar
  154. - gui_modules::toolbars::HistogramToolbar
  155. - gui_modules::toolbars::LayerManagerToolbar
  156. \subsection wscreen Welcome screen
  157. - gis_set_error.py
  158. - gis_set.py
  159. - gis_set::GRASSStartup
  160. - gis_set::StartUp
  161. - gis_set::GListBox
  162. \subsection atm Attribute Table Manager
  163. - gui_modules/dbm_base.py
  164. - gui_modules::dbm_base::VectorDBInfo
  165. - gui_modules/dbm_dialogs.py
  166. - gui_modules::dbm_dialogs::DisplayAttributesDialog
  167. - gui_modules::dbm_dialogs::ModifyTableRecord
  168. - gui_modules/dbm.py
  169. - gui_modules::dbm::Log
  170. - gui_modules::dbm::VirtualAttributeList
  171. - gui_modules::dbm::AttributeManager
  172. - gui_modules::dbm::TableListCtrl
  173. - gui_modules::dbm::LayerListCtrl
  174. - gui_modules::dbm::LayerBook
  175. - gui_modules/sqlbuilder.py
  176. - gui_modules::sqlbuilder::SQLFrame
  177. \subsection georect Georectifier
  178. - gui_modules/gcpmanager.py
  179. - gui_modules::gcpmanager::GCPWizard
  180. - gui_modules::gcpmanager::LocationPage
  181. - gui_modules::gcpmanager::GroupPage
  182. - gui_modules::gcpmanager::DispMapPage
  183. - gui_modules::gcpmanager::GCP
  184. - gui_modules::gcpmanager::GCPList
  185. - gui_modules::gcpmanager::VectGroup
  186. - gui_modules::gcpmanager::EditGCP
  187. - gui_modules::gcpmanager::GrSettingsDialog
  188. - gui_modules/gcpmapdisp.py
  189. - gui_modules::gcpmapdisp::MapFrame
  190. - gui_modules/georect.py
  191. - gui_modules::georect::GeorectWizard
  192. - gui_modules::georect::LocationPage
  193. - gui_modules::georect::GroupPage
  194. - gui_modules::georect::DispMapPage
  195. - gui_modules::georect::GCP
  196. - gui_modules::georect::GCPList
  197. - gui_modules::georect::VectGroup
  198. - gui_modules::georect::EditGPC
  199. - gui_modules::georect::GrSettingsDialog
  200. \subsection gmodeler Graphical Modeler
  201. - gui_modules/gmodeler.py
  202. - gui_modules::gmodeler::Model
  203. - gui_modules::gmodeler::ModelFrame
  204. - gui_modules::gmodeler::ModelCanvas
  205. - gui_modules::gmodeler::ModelObject
  206. - gui_modules::gmodeler::ModelAction
  207. - gui_modules::gmodeler::ModelData
  208. - gui_modules::gmodeler::ModelDataDialog
  209. - gui_modules::gmodeler::ModelEvtHandler
  210. - gui_modules::gmodeler::ModelSearchDialog
  211. - gui_modules::gmodeler::ModelRelation
  212. - gui_modules::gmodeler::ProcessModelFile
  213. - gui_modules::gmodeler::WriteModelFile
  214. - gui_modules::gmodeler::PreferencesDialog
  215. - gui_modules::gmodeler::PropertiesDialog
  216. - gui_modules::gmodeler::ModelParamDialog
  217. - gui_modules::gmodeler::ModelListCtrl
  218. - gui_modules::gmodeler::VariablePanel
  219. - gui_modules::gmodeler::VariableListCtrl
  220. - gui_modules::gmodeler::ModelItem
  221. - gui_modules::gmodeler::ModelItemDialog
  222. - gui_modules::gmodeler::ModelLoop
  223. - gui_modules::gmodeler::ModelLoopDialog
  224. - gui_modules::gmodeler::ItemPanel
  225. - gui_modules::gmodeler::ItemListCtrl
  226. - gui_modules::gmodeler::ItemCheckListCtrl
  227. - gui_modules::gmodeler::ModelCondition
  228. - gui_modules::gmodeler::ModelConditionDialog
  229. - gui_modules::gmodeler::WritePythonFile
  230. \subsection vdigit Vector digitizer
  231. - gui_modules/vdigit.py
  232. - gui_modules::vdigit::AbstractDigit
  233. - gui_modules::vdigit::VDigit
  234. - gui_modules::vdigit::AbstractDisplayDriver
  235. - gui_modules::vdigit::CDisplayDriver
  236. - gui_modules::vdigit::VDigitSettingsDialog
  237. - gui_modules::vdigit::VDigitCategoryDialog
  238. - gui_modules::vdigit::CategoryListCtrl
  239. - gui_modules::vdigit::VDigitZBulkDialog
  240. - gui_modules::vdigit::VDigitDuplicatesDialog
  241. - gui_modules::vdigit::CheckListFeature
  242. \subsection wxnviz 3D view mode (wxNviz)
  243. - gui_modules/nviz_mapdisp.py
  244. - gui_modules::nviz_mapdisp::NvizThread
  245. - gui_modules::nviz_mapdisp::GLWindow
  246. - gui_modules/nviz_preferences.py
  247. - gui_modules::nviz_preferences::NvizPreferencesDialog
  248. - gui_modules/nviz.py
  249. - gui_modules/nviz_tools.py
  250. - gui_modules::nviz_tools::NvizToolWindow
  251. - gui_modules::nviz_tools::PositionWindow
  252. - gui_modules::nviz_tools::ViewPositionWindow
  253. - gui_modules::nviz_tools::LightPositionWindow
  254. - gui_modules/wxnviz.py
  255. - gui_modules::wxnviz::Nviz
  256. \subsection locWizard Location Wizard
  257. - gui_modules/location_wizard.py
  258. - gui_modules::location_wizard::BaseClass
  259. - gui_modules::location_wizard::TitledPage
  260. - gui_modules::location_wizard::DatabasePage
  261. - gui_modules::location_wizard::CoordinateSystemPage
  262. - gui_modules::location_wizard::ProjectionsPage
  263. - gui_modules::location_wizard::ItemList
  264. - gui_modules::location_wizard::ProjParamsPage
  265. - gui_modules::location_wizard::DatumPage
  266. - gui_modules::location_wizard::EllipsePage
  267. - gui_modules::location_wizard::GeoreferencedFilePage
  268. - gui_modules::location_wizard::WKTPage
  269. - gui_modules::location_wizard::EPSGPage
  270. - gui_modules::location_wizard::CustomPage
  271. - gui_modules::location_wizard::SummaryPage
  272. - gui_modules::location_wizard::LocationWizard
  273. - gui_modules::location_wizard::RegionDef
  274. - gui_modules::location_wizard::TransList
  275. - gui_modules::location_wizard::SelectTransformDialog
  276. \subsection mcalc Map Calculator
  277. - gui_modules/mcalc_builder.py
  278. - gui_modules::mcalc_builder::MapCalcFrame
  279. \subsection misc Miscellaneous
  280. - gui_modules/colorrules.py
  281. - gui_modules::colorrules::ColorTable
  282. - gui_modules::colorrules::BufferedWindow
  283. - gui_modules/gdialogs.py
  284. - gui_modules::gdialogs::ElementDialog
  285. - gui_modules::gdialogs::LocationDialog
  286. - gui_modules::gdialogs::MapsetDialog
  287. - gui_modules::gdialogs::NewVectorDialog
  288. - gui_modules::gdialogs::SavedRegion
  289. - gui_modules::gdialogs::DecorationDialog
  290. - gui_modules::gdialogs::TextLayerDialog
  291. - gui_modules::gdialogs::LoadMapLayersDialog
  292. - gui_modules::gdialogs::ImportDialog
  293. - gui_modules::gdialogs::GdalImportDialog
  294. - gui_modules::gdialogs::DxfImportDialog
  295. - gui_modules::gdialogs::LayersList
  296. - gui_modules::gdialogs::SetOpacityDialog
  297. - gui_modules::gdialogs::StaticWrapText
  298. - gui_modules::gdialogs::ImageSizeDialog
  299. - gui_modules/histogram.py
  300. - gui_modules::histogram::BufferedWindow
  301. - gui_modules::histogram::HistFrame
  302. - gui_modules/ogc_services.py
  303. - gui_modules::ogc_services::WMSDialog
  304. - gui_modules::ogc_services::LayersList
  305. - gui_modules/profile.py
  306. - gui_modules::profile::ProfileFrame
  307. - gui_modules::profile::SetRasterDialog
  308. - gui_modules::profile::TextDialog
  309. - gui_modules::profile::OptDialog
  310. - gui_modules/rules.py
  311. - gui_modules::rules::RulesText
  312. - gui_modules/vclean.py
  313. - gui_modules::vclean::VectorCleaningFrame
  314. \section devel Further Development
  315. Ongoing development focuses on stability, portability and on the
  316. integration of OpenGL (see \ref wxnviz).
  317. A Map Composer, a tool for hardcopy map outputs is also planned to be
  318. developed. Currently, the tools for creating hardcopy maps (map
  319. layout) are limited in GRASS because its focus on modeling and spatial
  320. analysis. GRASS gives the user ability to add only a very simple and
  321. standardized legend, north arrow and scale to display to the graphics
  322. monitor and then export the display to an external image file such as
  323. a png. These map features are very basic and cannot be customized. The
  324. goal is to allow users to prepare simple cartographic outputs
  325. comparable e.g. with other, proprietary GIS map layout functionality.
  326. For more info see http://trac.osgeo.org/grass/wiki/wxGUIDevelopment
  327. \section seeAlso See also
  328. - GRASS User Wiki - http://grass.osgeo.org/wiki/WxGUI
  329. - GRASS Devs Wiki - http://trac.osgeo.org/grass/wiki/wxGUIDevelopment
  330. \section refs References
  331. - M. Landa, C. Moretto, M. Neteler, M. Zanolli, L. Manganelli, 2008: wxPython GUI per GRASS GIS. Proc. IX Meeting degli Utenti Italiani di GRASS - GFOSS - 21-22 Feb 2008, Perugia, Italy (<a href="http://geo.fsv.cvut.cz/~landa/publications/2008/gfoss-it-08/paper/grass-gfoss-tn.pdf">PDF</a>)
  332. */