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 dbm
  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 dbm Database Manager
  212. - dbm::dialogs
  213. - dialogs::DisplayAttributesDialog
  214. - dialogs::ModifyTableRecord
  215. - dbm::manager
  216. - manager::Log
  217. - manager::VirtualAttributeList
  218. - manager::AttributeManager
  219. - manager::TableListCtrl
  220. - manager::LayerListCtrl
  221. - manager::LayerBook
  222. - dbm::sqlbuilder
  223. - sqlbuilder::SQLFrame
  224. - dbm::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_file
  265. - model_file::ProcessModelFile
  266. - model_file::WriteModelFile
  267. - model_file::WritePythonFile
  268. - gmodeler::model
  269. - model::Model
  270. - model::ModelObject
  271. - model::ModelAction
  272. - model::ModelData
  273. - model::ModelRelation
  274. - model::ModelItem
  275. - model::ModelLoop
  276. - model::ModelCondition
  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. */