wxpythonlib.dox 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548
  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 swipe
  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::render
  61. - render::Layer
  62. - render::Layer
  63. - render::MapLayer
  64. - render::Overlay
  65. - render::Map
  66. - core::settings
  67. - settings::Settings
  68. - core::units
  69. - units::BaseUnits
  70. - core::utils
  71. - core::workspace
  72. - workspace::ProcessWorkspaceFile
  73. - workspace::WriteWorkspaceFile
  74. - workspace::ProcessGrcFile
  75. \subsection gui_core GUI core modules
  76. - gui_core::dialogs
  77. - dialogs::ElementDialog
  78. - dialogs::LocationDialog
  79. - dialogs::MapsetDialog
  80. - dialogs::NewVectorDialog
  81. - dialogs::SavedRegion
  82. - dialogs::DecorationDialog
  83. - dialogs::TextLayerDialog
  84. - dialogs::GroupDialog
  85. - dialogs::MapLayersDialog
  86. - dialogs::ImportDialog
  87. - dialogs::GdalImportDialog
  88. - dialogs::GdalOutputDialog
  89. - dialogs::DxfImportDialog
  90. - dialogs::LayersList (used by MultiImport)
  91. - dialogs::SetOpacityDialog
  92. - dialogs::StaticWrapText
  93. - dialogs::ImageSizeDialog
  94. - dialogs::SqlQueryFrame
  95. - dialogs::SymbolDialog
  96. - gui_core::forms
  97. - forms::TaskFrame
  98. - forms::CmdPanel
  99. - forms::GrassGUIApp
  100. - gui_core::ghelp
  101. - ghelp::SearchModuleWindow
  102. - ghelp::MenuTreeWindow
  103. - ghelp::MenuTree
  104. - ghelp::AboutWindow
  105. - ghelp::HelpFrame
  106. - ghelp::HelpWindow
  107. - ghelp::HelpPanel
  108. - gui_core::goutput
  109. - goutput::CmdThread
  110. - goutput::GMConsole
  111. - goutput::GMStc
  112. - goutput::GMStdout
  113. - goutput::GMStderr
  114. - goutput::PyStc
  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. - gui_core::preferences
  142. - preferences::PreferencesBaseDialog
  143. - preferences::PreferencesDialog
  144. - preferences::DefaultFontDialog
  145. - preferences::MapsetAccess
  146. - gui_core::prompt
  147. - prompt::PromptListCtrl
  148. - prompt::TextCtrlAutoComplete
  149. - prompt::GPrompt
  150. - prompt::GPromptPopUp
  151. - prompt::GPromptSTC
  152. - gui_core::toolbars
  153. - toolbars::BaseToolbar
  154. - gui_core::widgets
  155. - widgets::ScrolledPanel
  156. - widgets::NTCValidator
  157. - widgets::NumTextCtrl
  158. - widgets::FloatSlider
  159. - widgets::SymbolButton
  160. - widgets::StaticWrapText
  161. - widgets::BaseValidator
  162. - widgets::IntegerValidator
  163. - widgets::FloatValidator
  164. - widgets::NTCValidator
  165. - widgets::ItemTree
  166. \subsection lmgr Layer Manager
  167. - wxgui
  168. - wxgui::GMApp
  169. - wxgui::Usage
  170. - lmgr::layertree
  171. - lmgr::LayerTree
  172. - lmgr::menudata
  173. - menudata::MenuData
  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::ModelerData
  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. \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::PsMapData
  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 swipe Map Swipe
  445. - swipe::frame
  446. - frame::SwipeMapFrame
  447. - frame::MapSplitter
  448. - swipe::mapwindow
  449. - mapwindow::SwipeBufferedWindow
  450. - mapwindow::_MouseEvent
  451. - swipe::dialogs
  452. - dialogs::SwipeMapDialog
  453. - swipe::toolbars
  454. - toolbars::SwipeMapToolbar
  455. - toolbars::SwipeMainToolbar
  456. \subsection other Other GUI modules
  457. - modules::colorrules
  458. - colorrules::RulesPanel
  459. - colorrules::ColorTable
  460. - colorrules::RasterColorTable
  461. - colorrules::VectorColorTable
  462. - colorrules::ThematicVectorTable
  463. - colorrules::BufferedWindow
  464. - modules::extensions
  465. - extensions::InstallExtensionWindow
  466. - extensions::ExtensionTree
  467. - extensions::UninstallExtensionWindow
  468. - extensions::CheckListExtension
  469. - modules::histogram
  470. - histogram::BufferedWindow
  471. - histogram::HistogramFrame
  472. - histogram::HistogramToolbar
  473. - modules::mcalc_builder
  474. - mcalc_builder::MapCalcFrame
  475. - modules::ogc_services
  476. - ogc_services::WMSDialog
  477. - ogc_services::LayersList
  478. - modules::vclean
  479. - vclean::VectorCleaningFrame
  480. \section devel Further Development
  481. Ongoing development focuses on stability, portability and on the
  482. integration of OpenGL (see \ref wxnviz).
  483. A Map Composer, a tool for hardcopy map outputs is also planned to be
  484. developed. Currently, the tools for creating hardcopy maps (map
  485. layout) are limited in GRASS because its focus on modeling and spatial
  486. analysis. GRASS gives the user ability to add only a very simple and
  487. standardized legend, north arrow and scale to display to the graphics
  488. monitor and then export the display to an external image file such as
  489. a png. These map features are very basic and cannot be customized. The
  490. goal is to allow users to prepare simple cartographic outputs
  491. comparable e.g. with other, proprietary GIS map layout functionality.
  492. For more info see http://trac.osgeo.org/grass/wiki/wxGUIDevelopment
  493. \section seeAlso See also
  494. - GRASS User Wiki - http://grass.osgeo.org/wiki/WxGUI
  495. - GRASS Devs Wiki - http://trac.osgeo.org/grass/wiki/wxGUIDevelopment
  496. \section refs References
  497. - 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>)
  498. */