wxpythonlib.dox 13 KB

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