wxpythonlib.dox 13 KB

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