wxpythonlib.dox 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490
  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::GMFrame
  161. - wxgui::GMApp
  162. - wxgui::Usage
  163. - lmgr::layertree
  164. - lmgr::LayerTree
  165. - lmgr::menudata
  166. - menudata::MenuData
  167. - lmgr::pyshell
  168. - pyshell::PyShellWindow
  169. - lmgr::toolbars
  170. - toolbars::LMWorkspaceToolbar
  171. - toolbars::LMDataToolbar
  172. - toolbars::LMToolsToolbar
  173. - toolbars::LMMiscToolbar
  174. - toolbars::LMVectorToolbar
  175. - toolbars::LMNvizToolbar
  176. \subsection mapdisp Map Display Window
  177. - mapdisp::frame
  178. - mapdisp::MapFrame
  179. - mapdisp::MapApp
  180. - mapdisp::gprint
  181. - gprint::MapPrint
  182. - gprint::PrintOptions
  183. - mapdisp::mapwindow
  184. - mapwindow::BufferedWindow
  185. - mapdisp::statusbar
  186. - statusbar::SbException
  187. - statusbar::SbManager
  188. - statusbar::SbItem
  189. - statusbar::SbRender
  190. - statusbar::SbShowRegion
  191. - statusbar::SbAlignExtent
  192. - statusbar::SbResolution
  193. - statusbar::SbMapScale
  194. - statusbar::SbGoTo
  195. - statusbar::SbProjection
  196. - statusbar::SbMask
  197. - statusbar::SbTextItem
  198. - statusbar::SbDisplayGeometry
  199. - statusbar::SbCoordinates
  200. - statusbar::SbRegionExtent
  201. - statusbar::SbCompRegionExtent
  202. - statusbar::SbProgress
  203. - mapdisp::toolbars
  204. - toolbars::MapToolbar
  205. \subsection wscreen Welcome screen
  206. - gis_set_error
  207. - gis_set
  208. - gis_set::GRASSStartup
  209. - gis_set::StartUp
  210. - gis_set::GListBox
  211. \subsection dbmgr Database Manager
  212. - dbmgr::dialogs
  213. - dialogs::DisplayAttributesDialog
  214. - dialogs::ModifyTableRecord
  215. - dbmgr::manager
  216. - manager::Log
  217. - manager::VirtualAttributeList
  218. - manager::AttributeManager
  219. - manager::TableListCtrl
  220. - manager::LayerListCtrl
  221. - manager::LayerBook
  222. - dbmgr::sqlbuilder
  223. - sqlbuilder::SQLFrame
  224. - dbmgr::vinfo
  225. - vinfo::VectorDBInfo
  226. \subsection gpc Georectifier
  227. - gcp::manager
  228. - manager::GCPWizard
  229. - manager::LocationPage
  230. - manager::GroupPage
  231. - manager::DispMapPage
  232. - manager::GCP
  233. - manager::GCPList
  234. - manager::VectGroup
  235. - manager::EditGCP
  236. - manager::GrSettingsDialog
  237. - gcp::mapdisplay
  238. - mapdisplay::MapFrame
  239. - gcp::toolbars
  240. - toolbars::GCPMapToolbar
  241. - toolbars::GCPDisplayToolbar
  242. \subsection gmodeler Graphical Modeler
  243. - gmodeler::dialogs
  244. - dialogs::ModelDataDialog
  245. - dialogs::ModelSearchDialog
  246. - dialogs::ModelRelationDialog
  247. - dialogs::ModelParamDialog
  248. - dialogs::ModelItemDialog
  249. - dialogs::ModelLoopDialog
  250. - dialogs::ModelConditionDialog
  251. - gmodeler::frame
  252. - frame::ModelToolbar
  253. - frame::ModelFrame
  254. - frame::ModelCanvas
  255. - frame::ModelEvtHandler
  256. - frame::ModelListCtrl
  257. - frame::VariablePanel
  258. - frame::ValiableListCtrl
  259. - frame::ItemPanel
  260. - frame::ItemListCtrl
  261. - frame::ItemCheckListCtrl
  262. - gmodeler::menudata
  263. - menudata::ModelerData
  264. - gmodeler::model
  265. - model::Model
  266. - model::ModelObject
  267. - model::ModelAction
  268. - model::ModelData
  269. - model::ModelRelation
  270. - model::ModelItem
  271. - model::ModelLoop
  272. - model::ModelCondition
  273. - model::ProcessModelFile
  274. - model::WriteModelFile
  275. - model::WritePythonFile
  276. - gmodeler::preferences
  277. - preferences::PreferencesDialog
  278. - preferences::PropertiesDialog
  279. \subsection vdigit Vector digitizer
  280. - vdigit::dialogs
  281. - dialogs::VDigitCategoryDialog
  282. - dialogs::CategoryListCtrl
  283. - dialogs::VDigitZBulkDialog
  284. - dialogs::VDigitDuplicatesDialog
  285. - dialogs::CheckListFeature
  286. - vdigit::main
  287. - main::VDigit
  288. - vdigit::mapwindow
  289. - mapwindow::VDigitWindow
  290. - vdigit::preferences
  291. - preferences::VDigitSettingsDialog
  292. - vdigit::toolbars
  293. - toolbars::VDigitToolbar
  294. - vdigit::wxvdigit
  295. - wxdigit::VDigitError
  296. - wxdigit::IVDigit
  297. - vdigit::wxdisplay
  298. - wxdisplay::DisplayDriver
  299. \subsection wxnviz 3D view mode (wxNviz)
  300. - nviz::animation
  301. - animation::Animation
  302. - nviz::main
  303. - nviz::mapwindow
  304. - mapwindow::NvizThread
  305. - mapwindow::GLWindow
  306. - nviz::preferences
  307. - preferences::NvizPreferencesDialog
  308. - nviz::tools
  309. - tools::NvizToolWindow
  310. - tools::PositionWindow
  311. - tools::ViewPositionWindow
  312. - tools::LightPositionWindow
  313. - nviz::workspace
  314. - workspace::NvizSettings
  315. - nviz::wxnviz
  316. - wxnviz::Nviz
  317. - wxnviz::Texture
  318. - wxnviz::ImageTexture
  319. - wxnviz::TextTexture
  320. \subsection psmap Cartograpic Composer
  321. - psmap::dialogs
  322. - dialogs::UnitConversion
  323. - dialogs::TCValidator
  324. - dialogs::PenStyleComboBox
  325. - dialogs::CheckListCtrl
  326. - dialogs::Instruction
  327. - dialogs::InstructionObject
  328. - dialogs::InitMap
  329. - dialogs::MapFrame
  330. - dialogs::PageSetup
  331. - dialogs::Mapinfo
  332. - dialogs::Text
  333. - dialogs::Image
  334. - dialogs::NorthArrow
  335. - dialogs::Scalebar
  336. - dialogs::RasterLegend
  337. - dialogs::VectorLegend
  338. - dialogs::Raster
  339. - dialogs::Vector
  340. - dialogs::VProperties
  341. - dialogs::PsmapDialog
  342. - dialogs::PageSetupDialog
  343. - dialogs::MapDialog
  344. - dialogs::MapFramePanel
  345. - dialogs::RasterPanel
  346. - dialogs::VectorPanel
  347. - dialogs::RasterDialog
  348. - dialogs::MainVectorDialog
  349. - dialogs::VPropertiesDialog
  350. - dialogs::LegendDialog
  351. - dialogs::MapinfoDialog
  352. - dialogs::ScalebarDialog
  353. - dialogs::TextDialog
  354. - dialogs::ImageDialog
  355. - dialogs::NorthArrowDialog
  356. - psmap::frame
  357. - frame::PsMapFrame
  358. - frame::PsMapBufferedWindow
  359. - psmap::menudata
  360. - menudata::PsMapData
  361. - psmap::toolbars
  362. - toolbars::PsMapToolbar
  363. \subsection locWizard Location Wizard
  364. - location_wizard::base
  365. - location_wizard::BaseClass
  366. - location_wizard::dialogs
  367. - dialogs::RegionDef
  368. - dialogs::TransList
  369. - dialogs::SelectTransformDialog
  370. - location_wizard::wizard
  371. - wizard::TitledPage
  372. - wizard::DatabasePage
  373. - wizard::CoordinateSystemPage
  374. - wizard::ProjectionsPage
  375. - wizard::ItemList
  376. - wizard::ProjParamsPage
  377. - wizard::DatumPage
  378. - wizard::EllipsePage
  379. - wizard::GeoreferencedFilePage
  380. - wizard::EPSGPage
  381. - wizard::CustomPage
  382. - wizard::SummaryPage
  383. - wizard::LocationWizard
  384. \subsection plot Plotting modules
  385. - wxplot::base
  386. - base::BasePlotFrame
  387. - wxplot::dialogs
  388. - dialogs::ProfileRasterDialog
  389. - dialogs::ScatterRasterDialog
  390. - dialogs::PlotStatsFrame
  391. - dialogs::HistRasterDialog
  392. - dialogs::TextDialog
  393. - dialogs::OptDialog
  394. - wxplot::histogram
  395. - histogram::Histogram2Frame
  396. - histogram::Histogram2Toolbar
  397. - wxplot::profile
  398. - profile::ProfileFrame
  399. - profile::ProfileToolbar
  400. - wxplot::scatter
  401. - scatter::ScatterFrame
  402. - scatter::ScatterToolbar
  403. \subsection other Other GUI modules
  404. - modules::colorrules
  405. - colorrules::RulesPanel
  406. - colorrules::ColorTable
  407. - colorrules::RasterColorTable
  408. - colorrules::VectorColorTable
  409. - colorrules::ThematicVectorTable
  410. - colorrules::BufferedWindow
  411. - modules::extensions
  412. - extensions::InstallExtensionWindow
  413. - extensions::ExtensionTree
  414. - modules::histogram
  415. - histogram::BufferedWindow
  416. - histogram::HistogramFrame
  417. - histogram::HistogramToolbar
  418. - modules::mcalc_builder
  419. - mcalc_builder::MapCalcFrame
  420. - modules::ogc_services
  421. - ogc_services::WMSDialog
  422. - ogc_services::LayersList
  423. - modules::vclean
  424. - vclean::VectorCleaningFrame
  425. \section devel Further Development
  426. Ongoing development focuses on stability, portability and on the
  427. integration of OpenGL (see \ref wxnviz).
  428. A Map Composer, a tool for hardcopy map outputs is also planned to be
  429. developed. Currently, the tools for creating hardcopy maps (map
  430. layout) are limited in GRASS because its focus on modeling and spatial
  431. analysis. GRASS gives the user ability to add only a very simple and
  432. standardized legend, north arrow and scale to display to the graphics
  433. monitor and then export the display to an external image file such as
  434. a png. These map features are very basic and cannot be customized. The
  435. goal is to allow users to prepare simple cartographic outputs
  436. comparable e.g. with other, proprietary GIS map layout functionality.
  437. For more info see http://trac.osgeo.org/grass/wiki/wxGUIDevelopment
  438. \section seeAlso See also
  439. - GRASS User Wiki - http://grass.osgeo.org/wiki/WxGUI
  440. - GRASS Devs Wiki - http://trac.osgeo.org/grass/wiki/wxGUIDevelopment
  441. \section refs References
  442. - 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>)
  443. */