wxpythonlib.dox 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398
  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. \subsection gmodeler Graphical Modeler
  191. - gui_modules/gmodeler.py
  192. - gui_modules::gmodeler::Model
  193. - gui_modules::gmodeler::ModelFrame
  194. - gui_modules::gmodeler::ModelCanvas
  195. - gui_modules::gmodeler::ModelObject
  196. - gui_modules::gmodeler::ModelAction
  197. - gui_modules::gmodeler::ModelData
  198. - gui_modules::gmodeler::ModelDataDialog
  199. - gui_modules::gmodeler::ModelEvtHandler
  200. - gui_modules::gmodeler::ModelSearchDialog
  201. - gui_modules::gmodeler::ModelRelation
  202. - gui_modules::gmodeler::ProcessModelFile
  203. - gui_modules::gmodeler::WriteModelFile
  204. - gui_modules::gmodeler::PreferencesDialog
  205. - gui_modules::gmodeler::PropertiesDialog
  206. - gui_modules::gmodeler::ModelParamDialog
  207. - gui_modules::gmodeler::ModelListCtrl
  208. - gui_modules::gmodeler::VariablePanel
  209. - gui_modules::gmodeler::VariableListCtrl
  210. - gui_modules::gmodeler::ModelItem
  211. - gui_modules::gmodeler::ModelItemDialog
  212. - gui_modules::gmodeler::ModelLoop
  213. - gui_modules::gmodeler::ModelLoopDialog
  214. - gui_modules::gmodeler::ItemPanel
  215. - gui_modules::gmodeler::ItemListCtrl
  216. - gui_modules::gmodeler::ItemCheckListCtrl
  217. - gui_modules::gmodeler::ModelCondition
  218. - gui_modules::gmodeler::ModelConditionDialog
  219. - gui_modules::gmodeler::WritePythonFile
  220. \subsection vdigit Vector digitizer
  221. - gui_modules/vdigit.py
  222. - gui_modules::vdigit::VDigit
  223. - gui_modules::vdigit::VDigitSettingsDialog
  224. - gui_modules::vdigit::VDigitCategoryDialog
  225. - gui_modules::vdigit::CategoryListCtrl
  226. - gui_modules::vdigit::VDigitZBulkDialog
  227. - gui_modules::vdigit::VDigitDuplicatesDialog
  228. - gui_modules::vdigit::CheckListFeature
  229. - gui_modules/wxvdriver.py
  230. - gui_modules::wxvdriver::DisplayDriver
  231. - gui_modules/wxvdigit.py
  232. - gui_modules::wxvdigit::VDigitError
  233. - gui_modules::wxvdigit::IVDigit
  234. \subsection wxnviz 3D view mode (wxNviz)
  235. - gui_modules/nviz_mapdisp.py
  236. - gui_modules::nviz_mapdisp::NvizThread
  237. - gui_modules::nviz_mapdisp::GLWindow
  238. - gui_modules/nviz_preferences.py
  239. - gui_modules::nviz_preferences::NvizPreferencesDialog
  240. - gui_modules/nviz.py
  241. - gui_modules/nviz_tools.py
  242. - gui_modules::nviz_tools::NvizToolWindow
  243. - gui_modules::nviz_tools::PositionWindow
  244. - gui_modules::nviz_tools::ViewPositionWindow
  245. - gui_modules::nviz_tools::LightPositionWindow
  246. - gui_modules/wxnviz.py
  247. - gui_modules::wxnviz::Nviz
  248. \subsection locWizard Location Wizard
  249. - gui_modules/location_wizard.py
  250. - gui_modules::location_wizard::BaseClass
  251. - gui_modules::location_wizard::TitledPage
  252. - gui_modules::location_wizard::DatabasePage
  253. - gui_modules::location_wizard::CoordinateSystemPage
  254. - gui_modules::location_wizard::ProjectionsPage
  255. - gui_modules::location_wizard::ItemList
  256. - gui_modules::location_wizard::ProjParamsPage
  257. - gui_modules::location_wizard::DatumPage
  258. - gui_modules::location_wizard::EllipsePage
  259. - gui_modules::location_wizard::GeoreferencedFilePage
  260. - gui_modules::location_wizard::WKTPage
  261. - gui_modules::location_wizard::EPSGPage
  262. - gui_modules::location_wizard::CustomPage
  263. - gui_modules::location_wizard::SummaryPage
  264. - gui_modules::location_wizard::LocationWizard
  265. - gui_modules::location_wizard::RegionDef
  266. - gui_modules::location_wizard::TransList
  267. - gui_modules::location_wizard::SelectTransformDialog
  268. \subsection mcalc Map Calculator
  269. - gui_modules/mcalc_builder.py
  270. - gui_modules::mcalc_builder::MapCalcFrame
  271. \subsection misc Miscellaneous
  272. - gui_modules/colorrules.py
  273. - gui_modules::colorrules::ColorTable
  274. - gui_modules::colorrules::BufferedWindow
  275. - gui_modules/gdialogs.py
  276. - gui_modules::gdialogs::ElementDialog
  277. - gui_modules::gdialogs::LocationDialog
  278. - gui_modules::gdialogs::MapsetDialog
  279. - gui_modules::gdialogs::NewVectorDialog
  280. - gui_modules::gdialogs::SavedRegion
  281. - gui_modules::gdialogs::DecorationDialog
  282. - gui_modules::gdialogs::TextLayerDialog
  283. - gui_modules::gdialogs::LoadMapLayersDialog
  284. - gui_modules::gdialogs::ImportDialog
  285. - gui_modules::gdialogs::GdalImportDialog
  286. - gui_modules::gdialogs::DxfImportDialog
  287. - gui_modules::gdialogs::LayersList
  288. - gui_modules::gdialogs::SetOpacityDialog
  289. - gui_modules::gdialogs::StaticWrapText
  290. - gui_modules::gdialogs::ImageSizeDialog
  291. - gui_modules/histogram.py
  292. - gui_modules::histogram::BufferedWindow
  293. - gui_modules::histogram::HistFrame
  294. - gui_modules/ogc_services.py
  295. - gui_modules::ogc_services::WMSDialog
  296. - gui_modules::ogc_services::LayersList
  297. - gui_modules/profile.py
  298. - gui_modules::profile::ProfileFrame
  299. - gui_modules::profile::SetRasterDialog
  300. - gui_modules::profile::TextDialog
  301. - gui_modules::profile::OptDialog
  302. - gui_modules/vclean.py
  303. - gui_modules::vclean::VectorCleaningFrame
  304. \section devel Further Development
  305. Ongoing development focuses on stability, portability and on the
  306. integration of OpenGL (see \ref wxnviz).
  307. A Map Composer, a tool for hardcopy map outputs is also planned to be
  308. developed. Currently, the tools for creating hardcopy maps (map
  309. layout) are limited in GRASS because its focus on modeling and spatial
  310. analysis. GRASS gives the user ability to add only a very simple and
  311. standardized legend, north arrow and scale to display to the graphics
  312. monitor and then export the display to an external image file such as
  313. a png. These map features are very basic and cannot be customized. The
  314. goal is to allow users to prepare simple cartographic outputs
  315. comparable e.g. with other, proprietary GIS map layout functionality.
  316. For more info see http://trac.osgeo.org/grass/wiki/wxGUIDevelopment
  317. \section seeAlso See also
  318. - GRASS User Wiki - http://grass.osgeo.org/wiki/WxGUI
  319. - GRASS Devs Wiki - http://trac.osgeo.org/grass/wiki/wxGUIDevelopment
  320. \section refs References
  321. - 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>)
  322. */