wxpythonlib.dox 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491
  1. /*! \page wxpythonlib GRASS wxPython-based GUI
  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 gui_core
  22. - \ref lmgr
  23. - \ref mapdisp
  24. - \ref wscreen
  25. - \ref dbmgr
  26. - \ref gpc
  27. - \ref gmodeler
  28. - \ref vdigit
  29. - \ref wxnviz
  30. - \ref psmap
  31. - \ref locWizard
  32. - \ref plot
  33. - \ref other
  34. - \ref devel
  35. - \ref seeAlso
  36. - \ref refs
  37. \section background Background
  38. The plan for a native GUI for GRASS found its origin in the project <a
  39. href="http://geo.fsv.cvut.cz/~landa/publications/2008/unpublished/fbk-report/technology-for-geoinformatics.html">GFOSS-TN</a>,
  40. a collaboration between <a href="http://www.fbk.eu">FBK</a>
  41. (Fondazione Bruno Kessler) and the Information System Service of the
  42. Trento municipality (Italy). The wxGUI is successor of Tcl/Tk GUI
  43. available in GRASS 5 and GRASS 6.
  44. \section classes List of Modules and Classes
  45. \subsection core Core modules
  46. - core::debug
  47. - debug::DebugMsg
  48. - core::globalvar
  49. - core::gcmd
  50. - gcmd::GError
  51. - gcmd::GWarning
  52. - gcmd::GMessage
  53. - gcmd::GException
  54. - gcmd::Popen
  55. - gcmd::Command
  56. - gcmd::CommandThread
  57. - core::menudata
  58. - menudata::MenuData
  59. - core::render
  60. - render::Layer
  61. - render::Layer
  62. - render::MapLayer
  63. - render::Overlay
  64. - render::Map
  65. - core::settings
  66. - settings::Settings
  67. - core::units
  68. - units::BaseUnits
  69. - core::utils
  70. - core::workspace
  71. - workspace::ProcessWorkspaceFile
  72. - workspace::WriteWorkspaceFile
  73. - workspace::ProcessGrcFile
  74. \subsection gui_core GUI core modules
  75. - gui_core::dialogs
  76. - dialogs::ElementDialog
  77. - dialogs::LocationDialog
  78. - dialogs::MapsetDialog
  79. - dialogs::NewVectorDialog
  80. - dialogs::SavedRegion
  81. - dialogs::DecorationDialog
  82. - dialogs::TextLayerDialog
  83. - dialogs::GroupDialog
  84. - dialogs::MapLayersDialog
  85. - dialogs::ImportDialog
  86. - dialogs::GdalImportDialog
  87. - dialogs::GdalOutputDialog
  88. - dialogs::DxfImportDialog
  89. - dialogs::LayersList (used by MultiImport)
  90. - dialogs::SetOpacityDialog
  91. - dialogs::StaticWrapText
  92. - dialogs::ImageSizeDialog
  93. - dialogs::SqlQueryFrame
  94. - gui_core::forms
  95. - forms::TaskFrame
  96. - forms::CmdPanel
  97. - forms::GrassGUIApp
  98. - gui_core::ghelp
  99. - ghelp::SearchModuleWindow
  100. - ghelp::MenuTreeWindow
  101. - ghelp::MenuTree
  102. - ghelp::AboutWindow
  103. - ghelp::HelpFrame
  104. - ghelp::HelpWindow
  105. - ghelp::HelpPanel
  106. - gui_core::goutput
  107. - goutput::CmdThread
  108. - goutput::GMConsole
  109. - goutput::GMStc
  110. - goutput::GMStdout
  111. - goutput::GMStderr
  112. - gui_core::gselect
  113. - gselect::Select
  114. - gselect::VectorSelect
  115. - gselect::TreeCrtlComboPopup
  116. - gselect::VectorDBInfo
  117. - gselect::LayerSelect
  118. - gselect::DriverSelect
  119. - gselect::DatabaseSelect
  120. - gselect::ColumnSelect
  121. - gselect::DbaseSelect
  122. - gselect::LocationSelect
  123. - gselect::MapsetSelect
  124. - gselect::SubGroupSelect
  125. - gselect::FormatSelect
  126. - gselect::GdalSelect
  127. - gselect::ProjSelect
  128. - gselect::ElementSelect
  129. - gselect::OgrTypeSelect
  130. - gui_core::mapdisp
  131. - mapdisp::MapFrameBase
  132. - gui_core::mapwindow
  133. - mapwindow::MapWindow
  134. - gui_core::menu
  135. - menu::Menu
  136. - gui_core::preferences
  137. - preferences::PreferencesBaseDialog
  138. - preferences::PreferencesDialog
  139. - preferences::DefaultFontDialog
  140. - preferences::MapsetAccess
  141. - gui_core::prompt
  142. - prompt::PromptListCtrl
  143. - prompt::TextCtrlAutoComplete
  144. - prompt::GPrompt
  145. - prompt::GPromptPopUp
  146. - prompt::GPromptSTC
  147. - gui_core::toolbars
  148. - toolbars::BaseToolbar
  149. - gui_core::widgets
  150. - widgets::ScrolledPanel
  151. - widgets::NTCValidator
  152. - widgets::NumTextCtrl
  153. - widgets::FloatSlider
  154. - widgets::SymbolButton
  155. - widgets::StaticWrapText
  156. - widgets::FloatValidator
  157. - widgets::ItemTree
  158. \subsection lmgr Layer Manager
  159. - wxgui
  160. - wxgui::GMApp
  161. - wxgui::Usage
  162. - lmgr::layertree
  163. - lmgr::LayerTree
  164. - lmgr::menudata
  165. - menudata::MenuData
  166. - lmgr::pyshell
  167. - pyshell::PyShellWindow
  168. - lmgr::toolbars
  169. - toolbars::LMWorkspaceToolbar
  170. - toolbars::LMDataToolbar
  171. - toolbars::LMToolsToolbar
  172. - toolbars::LMMiscToolbar
  173. - toolbars::LMVectorToolbar
  174. - toolbars::LMNvizToolbar
  175. - lmgr::frame
  176. - frame::GMFrame
  177. \subsection mapdisp Map Display Window
  178. - mapdisp::frame
  179. - mapdisp::MapFrame
  180. - mapdisp::MapApp
  181. - mapdisp::gprint
  182. - gprint::MapPrint
  183. - gprint::PrintOptions
  184. - mapdisp::mapwindow
  185. - mapwindow::BufferedWindow
  186. - mapdisp::statusbar
  187. - statusbar::SbException
  188. - statusbar::SbManager
  189. - statusbar::SbItem
  190. - statusbar::SbRender
  191. - statusbar::SbShowRegion
  192. - statusbar::SbAlignExtent
  193. - statusbar::SbResolution
  194. - statusbar::SbMapScale
  195. - statusbar::SbGoTo
  196. - statusbar::SbProjection
  197. - statusbar::SbMask
  198. - statusbar::SbTextItem
  199. - statusbar::SbDisplayGeometry
  200. - statusbar::SbCoordinates
  201. - statusbar::SbRegionExtent
  202. - statusbar::SbCompRegionExtent
  203. - statusbar::SbProgress
  204. - mapdisp::toolbars
  205. - toolbars::MapToolbar
  206. \subsection wscreen Welcome screen
  207. - gis_set_error
  208. - gis_set
  209. - gis_set::GRASSStartup
  210. - gis_set::StartUp
  211. - gis_set::GListBox
  212. \subsection dbmgr Database Manager
  213. - dbmgr::dialogs
  214. - dialogs::DisplayAttributesDialog
  215. - dialogs::ModifyTableRecord
  216. - dbmgr::manager
  217. - manager::Log
  218. - manager::VirtualAttributeList
  219. - manager::AttributeManager
  220. - manager::TableListCtrl
  221. - manager::LayerListCtrl
  222. - manager::LayerBook
  223. - dbmgr::sqlbuilder
  224. - sqlbuilder::SQLFrame
  225. - dbmgr::vinfo
  226. - vinfo::VectorDBInfo
  227. \subsection gpc Georectifier
  228. - gcp::manager
  229. - manager::GCPWizard
  230. - manager::LocationPage
  231. - manager::GroupPage
  232. - manager::DispMapPage
  233. - manager::GCP
  234. - manager::GCPList
  235. - manager::VectGroup
  236. - manager::EditGCP
  237. - manager::GrSettingsDialog
  238. - gcp::mapdisplay
  239. - mapdisplay::MapFrame
  240. - gcp::toolbars
  241. - toolbars::GCPMapToolbar
  242. - toolbars::GCPDisplayToolbar
  243. \subsection gmodeler Graphical Modeler
  244. - gmodeler::dialogs
  245. - dialogs::ModelDataDialog
  246. - dialogs::ModelSearchDialog
  247. - dialogs::ModelRelationDialog
  248. - dialogs::ModelParamDialog
  249. - dialogs::ModelItemDialog
  250. - dialogs::ModelLoopDialog
  251. - dialogs::ModelConditionDialog
  252. - gmodeler::frame
  253. - frame::ModelToolbar
  254. - frame::ModelFrame
  255. - frame::ModelCanvas
  256. - frame::ModelEvtHandler
  257. - frame::ModelListCtrl
  258. - frame::VariablePanel
  259. - frame::ValiableListCtrl
  260. - frame::ItemPanel
  261. - frame::ItemListCtrl
  262. - frame::ItemCheckListCtrl
  263. - gmodeler::menudata
  264. - menudata::ModelerData
  265. - gmodeler::model
  266. - model::Model
  267. - model::ModelObject
  268. - model::ModelAction
  269. - model::ModelData
  270. - model::ModelRelation
  271. - model::ModelItem
  272. - model::ModelLoop
  273. - model::ModelCondition
  274. - model::ProcessModelFile
  275. - model::WriteModelFile
  276. - model::WritePythonFile
  277. - gmodeler::preferences
  278. - preferences::PreferencesDialog
  279. - preferences::PropertiesDialog
  280. \subsection vdigit Vector digitizer
  281. - vdigit::dialogs
  282. - dialogs::VDigitCategoryDialog
  283. - dialogs::CategoryListCtrl
  284. - dialogs::VDigitZBulkDialog
  285. - dialogs::VDigitDuplicatesDialog
  286. - dialogs::CheckListFeature
  287. - vdigit::main
  288. - main::VDigit
  289. - vdigit::mapwindow
  290. - mapwindow::VDigitWindow
  291. - vdigit::preferences
  292. - preferences::VDigitSettingsDialog
  293. - vdigit::toolbars
  294. - toolbars::VDigitToolbar
  295. - vdigit::wxvdigit
  296. - wxdigit::VDigitError
  297. - wxdigit::IVDigit
  298. - vdigit::wxdisplay
  299. - wxdisplay::DisplayDriver
  300. \subsection wxnviz 3D view mode (wxNviz)
  301. - nviz::animation
  302. - animation::Animation
  303. - nviz::main
  304. - nviz::mapwindow
  305. - mapwindow::NvizThread
  306. - mapwindow::GLWindow
  307. - nviz::preferences
  308. - preferences::NvizPreferencesDialog
  309. - nviz::tools
  310. - tools::NvizToolWindow
  311. - tools::PositionWindow
  312. - tools::ViewPositionWindow
  313. - tools::LightPositionWindow
  314. - nviz::workspace
  315. - workspace::NvizSettings
  316. - nviz::wxnviz
  317. - wxnviz::Nviz
  318. - wxnviz::Texture
  319. - wxnviz::ImageTexture
  320. - wxnviz::TextTexture
  321. \subsection psmap Cartograpic Composer
  322. - psmap::dialogs
  323. - dialogs::UnitConversion
  324. - dialogs::TCValidator
  325. - dialogs::PenStyleComboBox
  326. - dialogs::CheckListCtrl
  327. - dialogs::Instruction
  328. - dialogs::InstructionObject
  329. - dialogs::InitMap
  330. - dialogs::MapFrame
  331. - dialogs::PageSetup
  332. - dialogs::Mapinfo
  333. - dialogs::Text
  334. - dialogs::Image
  335. - dialogs::NorthArrow
  336. - dialogs::Scalebar
  337. - dialogs::RasterLegend
  338. - dialogs::VectorLegend
  339. - dialogs::Raster
  340. - dialogs::Vector
  341. - dialogs::VProperties
  342. - dialogs::PsmapDialog
  343. - dialogs::PageSetupDialog
  344. - dialogs::MapDialog
  345. - dialogs::MapFramePanel
  346. - dialogs::RasterPanel
  347. - dialogs::VectorPanel
  348. - dialogs::RasterDialog
  349. - dialogs::MainVectorDialog
  350. - dialogs::VPropertiesDialog
  351. - dialogs::LegendDialog
  352. - dialogs::MapinfoDialog
  353. - dialogs::ScalebarDialog
  354. - dialogs::TextDialog
  355. - dialogs::ImageDialog
  356. - dialogs::NorthArrowDialog
  357. - psmap::frame
  358. - frame::PsMapFrame
  359. - frame::PsMapBufferedWindow
  360. - psmap::menudata
  361. - menudata::PsMapData
  362. - psmap::toolbars
  363. - toolbars::PsMapToolbar
  364. \subsection locWizard Location Wizard
  365. - location_wizard::base
  366. - location_wizard::BaseClass
  367. - location_wizard::dialogs
  368. - dialogs::RegionDef
  369. - dialogs::TransList
  370. - dialogs::SelectTransformDialog
  371. - location_wizard::wizard
  372. - wizard::TitledPage
  373. - wizard::DatabasePage
  374. - wizard::CoordinateSystemPage
  375. - wizard::ProjectionsPage
  376. - wizard::ItemList
  377. - wizard::ProjParamsPage
  378. - wizard::DatumPage
  379. - wizard::EllipsePage
  380. - wizard::GeoreferencedFilePage
  381. - wizard::EPSGPage
  382. - wizard::CustomPage
  383. - wizard::SummaryPage
  384. - wizard::LocationWizard
  385. \subsection plot Plotting modules
  386. - wxplot::base
  387. - base::BasePlotFrame
  388. - wxplot::dialogs
  389. - dialogs::ProfileRasterDialog
  390. - dialogs::ScatterRasterDialog
  391. - dialogs::PlotStatsFrame
  392. - dialogs::HistRasterDialog
  393. - dialogs::TextDialog
  394. - dialogs::OptDialog
  395. - wxplot::histogram
  396. - histogram::Histogram2Frame
  397. - histogram::Histogram2Toolbar
  398. - wxplot::profile
  399. - profile::ProfileFrame
  400. - profile::ProfileToolbar
  401. - wxplot::scatter
  402. - scatter::ScatterFrame
  403. - scatter::ScatterToolbar
  404. \subsection other Other GUI modules
  405. - modules::colorrules
  406. - colorrules::RulesPanel
  407. - colorrules::ColorTable
  408. - colorrules::RasterColorTable
  409. - colorrules::VectorColorTable
  410. - colorrules::ThematicVectorTable
  411. - colorrules::BufferedWindow
  412. - modules::extensions
  413. - extensions::InstallExtensionWindow
  414. - extensions::ExtensionTree
  415. - modules::histogram
  416. - histogram::BufferedWindow
  417. - histogram::HistogramFrame
  418. - histogram::HistogramToolbar
  419. - modules::mcalc_builder
  420. - mcalc_builder::MapCalcFrame
  421. - modules::ogc_services
  422. - ogc_services::WMSDialog
  423. - ogc_services::LayersList
  424. - modules::vclean
  425. - vclean::VectorCleaningFrame
  426. \section devel Further Development
  427. Ongoing development focuses on stability, portability and on the
  428. integration of OpenGL (see \ref wxnviz).
  429. A Map Composer, a tool for hardcopy map outputs is also planned to be
  430. developed. Currently, the tools for creating hardcopy maps (map
  431. layout) are limited in GRASS because its focus on modeling and spatial
  432. analysis. GRASS gives the user ability to add only a very simple and
  433. standardized legend, north arrow and scale to display to the graphics
  434. monitor and then export the display to an external image file such as
  435. a png. These map features are very basic and cannot be customized. The
  436. goal is to allow users to prepare simple cartographic outputs
  437. comparable e.g. with other, proprietary GIS map layout functionality.
  438. For more info see http://trac.osgeo.org/grass/wiki/wxGUIDevelopment
  439. \section seeAlso See also
  440. - GRASS User Wiki - http://grass.osgeo.org/wiki/WxGUI
  441. - GRASS Devs Wiki - http://trac.osgeo.org/grass/wiki/wxGUIDevelopment
  442. \section refs References
  443. - 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>)
  444. */