wxpythonlib.dox 13 KB

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