wxpythonlib.dox 13 KB

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