wxpythonlib.dox 13 KB

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