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::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::SimpleDialog
  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::SimpleValidator
  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. - widgets::SearchModuleWidget
  167. \subsection lmgr Layer Manager
  168. - wxgui
  169. - wxgui::GMApp
  170. - wxgui::Usage
  171. - lmgr::layertree
  172. - lmgr::LayerTree
  173. - lmgr::menudata
  174. - menudata::LayerManagerMenuData
  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::ModelerMenuData
  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::PsMapMenuData
  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. */