wxpythonlib.dox 13 KB

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