wxpythonlib.dox 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  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::MapFrameBase
  134. - gui_modules::mapdisp::MapFrame
  135. - gui_modules::mapdisp::MapApp
  136. - gui_modules/mapdisp_window.py
  137. - gui_modules::mapdisp_window::MapWindow
  138. - gui_modules::mapdisp_window::BufferedWindow
  139. - gui_modules/render.py
  140. - gui_modules::render::Layer
  141. - gui_modules::render::MapLayer
  142. - gui_modules::render::Overlay
  143. - gui_modules::render::Map
  144. - gui_modules/toolbars.py
  145. - gui_modules::toolbars::AbstractToolbar
  146. - gui_modules::toolbars::MapToolbar
  147. - gui_modules::toolbars::GCPManToolbar
  148. - gui_modules::toolbars::GCPDisplayToolbar
  149. - gui_modules::toolbars::VDigitToolbar
  150. - gui_modules::toolbars::ProfileToolbar
  151. - gui_modules::toolbars::LMNvizToolbar
  152. - gui_modules::toolbars::ModelToolbar
  153. - gui_modules::toolbars::HistogramToolbar
  154. - gui_modules::toolbars::Histogram2Toolbar
  155. - gui_modules::toolbars::ScatterplotToolbar
  156. - gui_modules::toolbars::LMWorkspaceToolbar
  157. - gui_modules::toolbars::LMDataToolbar
  158. - gui_modules::toolbars::LMToolsToolbar
  159. - gui_modules::toolbars::LMMiscToolbar
  160. - gui_modules::toolbars::LMVectorToolbar
  161. - gui_modules::toolbars::PsMapToolbar
  162. \subsection wscreen Welcome screen
  163. - gis_set_error.py
  164. - gis_set.py
  165. - gis_set::GRASSStartup
  166. - gis_set::StartUp
  167. - gis_set::GListBox
  168. \subsection atm Attribute Table Manager
  169. - gui_modules/dbm_base.py
  170. - gui_modules::dbm_base::VectorDBInfo
  171. - gui_modules/dbm_dialogs.py
  172. - gui_modules::dbm_dialogs::DisplayAttributesDialog
  173. - gui_modules::dbm_dialogs::ModifyTableRecord
  174. - gui_modules/dbm.py
  175. - gui_modules::dbm::Log
  176. - gui_modules::dbm::VirtualAttributeList
  177. - gui_modules::dbm::AttributeManager
  178. - gui_modules::dbm::TableListCtrl
  179. - gui_modules::dbm::LayerListCtrl
  180. - gui_modules::dbm::LayerBook
  181. - gui_modules/sqlbuilder.py
  182. - gui_modules::sqlbuilder::SQLFrame
  183. \subsection georect Georectifier
  184. - gui_modules/gcpmanager.py
  185. - gui_modules::gcpmanager::GCPWizard
  186. - gui_modules::gcpmanager::LocationPage
  187. - gui_modules::gcpmanager::GroupPage
  188. - gui_modules::gcpmanager::DispMapPage
  189. - gui_modules::gcpmanager::GCP
  190. - gui_modules::gcpmanager::GCPList
  191. - gui_modules::gcpmanager::VectGroup
  192. - gui_modules::gcpmanager::EditGCP
  193. - gui_modules::gcpmanager::GrSettingsDialog
  194. - gui_modules/gcpmapdisp.py
  195. - gui_modules::gcpmapdisp::MapFrame
  196. \subsection gmodeler Graphical Modeler
  197. - gui_modules/gmodeler.py
  198. - gui_modules::gmodeler::Model
  199. - gui_modules::gmodeler::ModelFrame
  200. - gui_modules::gmodeler::ModelCanvas
  201. - gui_modules::gmodeler::ModelObject
  202. - gui_modules::gmodeler::ModelAction
  203. - gui_modules::gmodeler::ModelData
  204. - gui_modules::gmodeler::ModelDataDialog
  205. - gui_modules::gmodeler::ModelEvtHandler
  206. - gui_modules::gmodeler::ModelSearchDialog
  207. - gui_modules::gmodeler::ModelRelation
  208. - gui_modules::gmodeler::ProcessModelFile
  209. - gui_modules::gmodeler::WriteModelFile
  210. - gui_modules::gmodeler::PreferencesDialog
  211. - gui_modules::gmodeler::PropertiesDialog
  212. - gui_modules::gmodeler::ModelParamDialog
  213. - gui_modules::gmodeler::ModelListCtrl
  214. - gui_modules::gmodeler::VariablePanel
  215. - gui_modules::gmodeler::VariableListCtrl
  216. - gui_modules::gmodeler::ModelItem
  217. - gui_modules::gmodeler::ModelItemDialog
  218. - gui_modules::gmodeler::ModelLoop
  219. - gui_modules::gmodeler::ModelLoopDialog
  220. - gui_modules::gmodeler::ItemPanel
  221. - gui_modules::gmodeler::ItemListCtrl
  222. - gui_modules::gmodeler::ItemCheckListCtrl
  223. - gui_modules::gmodeler::ModelCondition
  224. - gui_modules::gmodeler::ModelConditionDialog
  225. - gui_modules::gmodeler::WritePythonFile
  226. \subsection vdigit Vector digitizer
  227. - gui_modules/vdigit.py
  228. - gui_modules::vdigit::VDigit
  229. - gui_modules::vdigit::VDigitSettingsDialog
  230. - gui_modules::vdigit::VDigitCategoryDialog
  231. - gui_modules::vdigit::CategoryListCtrl
  232. - gui_modules::vdigit::VDigitZBulkDialog
  233. - gui_modules::vdigit::VDigitDuplicatesDialog
  234. - gui_modules::vdigit::CheckListFeature
  235. - gui_modules/wxvdriver.py
  236. - gui_modules::wxvdriver::DisplayDriver
  237. - gui_modules/wxvdigit.py
  238. - gui_modules::wxvdigit::VDigitError
  239. - gui_modules::wxvdigit::IVDigit
  240. \subsection wxnviz 3D view mode (wxNviz)
  241. - gui_modules/nviz_mapdisp.py
  242. - gui_modules::nviz_mapdisp::NvizThread
  243. - gui_modules::nviz_mapdisp::GLWindow
  244. - gui_modules/nviz_preferences.py
  245. - gui_modules::nviz_preferences::NvizPreferencesDialog
  246. - gui_modules/nviz.py
  247. - gui_modules/nviz_tools.py
  248. - gui_modules::nviz_tools::NvizToolWindow
  249. - gui_modules::nviz_tools::PositionWindow
  250. - gui_modules::nviz_tools::ViewPositionWindow
  251. - gui_modules::nviz_tools::LightPositionWindow
  252. - gui_modules/wxnviz.py
  253. - gui_modules::wxnviz::Nviz
  254. \subsection locWizard Location Wizard
  255. - gui_modules/location_wizard.py
  256. - gui_modules::location_wizard::BaseClass
  257. - gui_modules::location_wizard::TitledPage
  258. - gui_modules::location_wizard::DatabasePage
  259. - gui_modules::location_wizard::CoordinateSystemPage
  260. - gui_modules::location_wizard::ProjectionsPage
  261. - gui_modules::location_wizard::ItemList
  262. - gui_modules::location_wizard::ProjParamsPage
  263. - gui_modules::location_wizard::DatumPage
  264. - gui_modules::location_wizard::EllipsePage
  265. - gui_modules::location_wizard::GeoreferencedFilePage
  266. - gui_modules::location_wizard::WKTPage
  267. - gui_modules::location_wizard::EPSGPage
  268. - gui_modules::location_wizard::CustomPage
  269. - gui_modules::location_wizard::SummaryPage
  270. - gui_modules::location_wizard::LocationWizard
  271. - gui_modules::location_wizard::RegionDef
  272. - gui_modules::location_wizard::TransList
  273. - gui_modules::location_wizard::SelectTransformDialog
  274. \subsection mcalc Map Calculator
  275. - gui_modules/mcalc_builder.py
  276. - gui_modules::mcalc_builder::MapCalcFrame
  277. \subsection misc Miscellaneous
  278. - gui_modules/colorrules.py
  279. - gui_modules::colorrules::ColorTable
  280. - gui_modules::colorrules::BufferedWindow
  281. - gui_modules/gdialogs.py
  282. - gui_modules::gdialogs::ElementDialog
  283. - gui_modules::gdialogs::LocationDialog
  284. - gui_modules::gdialogs::MapsetDialog
  285. - gui_modules::gdialogs::NewVectorDialog
  286. - gui_modules::gdialogs::SavedRegion
  287. - gui_modules::gdialogs::DecorationDialog
  288. - gui_modules::gdialogs::TextLayerDialog
  289. - gui_modules::gdialogs::LoadMapLayersDialog
  290. - gui_modules::gdialogs::ImportDialog
  291. - gui_modules::gdialogs::GdalImportDialog
  292. - gui_modules::gdialogs::DxfImportDialog
  293. - gui_modules::gdialogs::LayersList
  294. - gui_modules::gdialogs::SetOpacityDialog
  295. - gui_modules::gdialogs::StaticWrapText
  296. - gui_modules::gdialogs::ImageSizeDialog
  297. - gui_modules/histogram.py
  298. - gui_modules::histogram::BufferedWindow
  299. - gui_modules::histogram::HistFrame
  300. - gui_modules/ogc_services.py
  301. - gui_modules::ogc_services::WMSDialog
  302. - gui_modules::ogc_services::LayersList
  303. - gui_modules/profile.py
  304. - gui_modules::profile::ProfileFrame
  305. - gui_modules::profile::SetRasterDialog
  306. - gui_modules::profile::TextDialog
  307. - gui_modules::profile::OptDialog
  308. - gui_modules/vclean.py
  309. - gui_modules::vclean::VectorCleaningFrame
  310. \section devel Further Development
  311. Ongoing development focuses on stability, portability and on the
  312. integration of OpenGL (see \ref wxnviz).
  313. A Map Composer, a tool for hardcopy map outputs is also planned to be
  314. developed. Currently, the tools for creating hardcopy maps (map
  315. layout) are limited in GRASS because its focus on modeling and spatial
  316. analysis. GRASS gives the user ability to add only a very simple and
  317. standardized legend, north arrow and scale to display to the graphics
  318. monitor and then export the display to an external image file such as
  319. a png. These map features are very basic and cannot be customized. The
  320. goal is to allow users to prepare simple cartographic outputs
  321. comparable e.g. with other, proprietary GIS map layout functionality.
  322. For more info see http://trac.osgeo.org/grass/wiki/wxGUIDevelopment
  323. \section seeAlso See also
  324. - GRASS User Wiki - http://grass.osgeo.org/wiki/WxGUI
  325. - GRASS Devs Wiki - http://trac.osgeo.org/grass/wiki/wxGUIDevelopment
  326. \section refs References
  327. - 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>)
  328. */