wxpythonlib.dox 12 KB

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