wxpythonlib.dox 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533
  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. - goutput::PyStc
  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. - gui_core::preferences
  141. - preferences::PreferencesBaseDialog
  142. - preferences::PreferencesDialog
  143. - preferences::DefaultFontDialog
  144. - preferences::MapsetAccess
  145. - gui_core::prompt
  146. - prompt::PromptListCtrl
  147. - prompt::TextCtrlAutoComplete
  148. - prompt::GPrompt
  149. - prompt::GPromptPopUp
  150. - prompt::GPromptSTC
  151. - gui_core::toolbars
  152. - toolbars::BaseToolbar
  153. - gui_core::widgets
  154. - widgets::ScrolledPanel
  155. - widgets::NTCValidator
  156. - widgets::NumTextCtrl
  157. - widgets::FloatSlider
  158. - widgets::SymbolButton
  159. - widgets::StaticWrapText
  160. - widgets::BaseValidator
  161. - widgets::IntegerValidator
  162. - widgets::FloatValidator
  163. - widgets::NTCValidator
  164. - widgets::ItemTree
  165. \subsection lmgr Layer Manager
  166. - wxgui
  167. - wxgui::GMApp
  168. - wxgui::Usage
  169. - lmgr::layertree
  170. - lmgr::LayerTree
  171. - lmgr::menudata
  172. - menudata::MenuData
  173. - lmgr::pyshell
  174. - pyshell::PyShellWindow
  175. - lmgr::toolbars
  176. - toolbars::LMWorkspaceToolbar
  177. - toolbars::LMDataToolbar
  178. - toolbars::LMToolsToolbar
  179. - toolbars::LMMiscToolbar
  180. - toolbars::LMVectorToolbar
  181. - toolbars::LMNvizToolbar
  182. - lmgr::frame
  183. - frame::GMFrame
  184. \subsection mapdisp Map Display Window
  185. - mapdisp::frame
  186. - mapdisp::MapFrame
  187. - mapdisp::MapApp
  188. - mapdisp::gprint
  189. - gprint::MapPrint
  190. - gprint::PrintOptions
  191. - mapdisp::mapwindow
  192. - mapwindow::BufferedWindow
  193. - mapdisp::statusbar
  194. - statusbar::SbException
  195. - statusbar::SbManager
  196. - statusbar::SbItem
  197. - statusbar::SbRender
  198. - statusbar::SbShowRegion
  199. - statusbar::SbAlignExtent
  200. - statusbar::SbResolution
  201. - statusbar::SbMapScale
  202. - statusbar::SbGoTo
  203. - statusbar::SbProjection
  204. - statusbar::SbMask
  205. - statusbar::SbTextItem
  206. - statusbar::SbDisplayGeometry
  207. - statusbar::SbCoordinates
  208. - statusbar::SbRegionExtent
  209. - statusbar::SbCompRegionExtent
  210. - statusbar::SbProgress
  211. - mapdisp::toolbars
  212. - toolbars::MapToolbar
  213. \subsection wscreen Welcome screen
  214. - gis_set_error
  215. - gis_set
  216. - gis_set::GRASSStartup
  217. - gis_set::StartUp
  218. - gis_set::GListBox
  219. \subsection dbmgr Database Manager
  220. - dbmgr::dialogs
  221. - dialogs::DisplayAttributesDialog
  222. - dialogs::ModifyTableRecord
  223. - dbmgr::manager
  224. - manager::Log
  225. - manager::VirtualAttributeList
  226. - manager::AttributeManager
  227. - manager::TableListCtrl
  228. - manager::LayerListCtrl
  229. - manager::LayerBook
  230. - dbmgr::sqlbuilder
  231. - sqlbuilder::SQLFrame
  232. - dbmgr::vinfo
  233. - vinfo::VectorDBInfo
  234. \subsection gpc Georectifier
  235. - gcp::manager
  236. - manager::GCPWizard
  237. - manager::LocationPage
  238. - manager::GroupPage
  239. - manager::DispMapPage
  240. - manager::GCP
  241. - manager::GCPList
  242. - manager::VectGroup
  243. - manager::EditGCP
  244. - manager::GrSettingsDialog
  245. - gcp::mapdisplay
  246. - mapdisplay::MapFrame
  247. - gcp::toolbars
  248. - toolbars::GCPMapToolbar
  249. - toolbars::GCPDisplayToolbar
  250. \subsection gmodeler Graphical Modeler
  251. - gmodeler::dialogs
  252. - dialogs::ModelDataDialog
  253. - dialogs::ModelSearchDialog
  254. - dialogs::ModelRelationDialog
  255. - dialogs::ModelItemDialog
  256. - dialogs::ModelLoopDialog
  257. - dialogs::ModelConditionDialog
  258. - dialogs::ModelListCtrl
  259. - dialogs::ValiableListCtrl
  260. - dialogs::ItemListCtrl
  261. - dialogs::ItemCheckListCtrl
  262. - gmodeler::frame
  263. - frame::ModelToolbar
  264. - frame::ModelFrame
  265. - frame::ModelCanvas
  266. - frame::ModelEvtHandler
  267. - frame::VariablePanel
  268. - frame::ItemPanel
  269. - frame::PythonPanel
  270. - gmodeler::menudata
  271. - menudata::ModelerData
  272. - gmodeler::model
  273. - model::Model
  274. - model::ModelObject
  275. - model::ModelAction
  276. - model::ModelData
  277. - model::ModelRelation
  278. - model::ModelItem
  279. - model::ModelLoop
  280. - model::ModelCondition
  281. - model::ProcessModelFile
  282. - model::WriteModelFile
  283. - model::WritePythonFile
  284. - model::ModelParamDialog
  285. - gmodeler::preferences
  286. - preferences::PreferencesDialog
  287. - preferences::PropertiesDialog
  288. \subsection vdigit Vector digitizer
  289. - vdigit::dialogs
  290. - dialogs::VDigitCategoryDialog
  291. - dialogs::CategoryListCtrl
  292. - dialogs::VDigitZBulkDialog
  293. - dialogs::VDigitDuplicatesDialog
  294. - dialogs::CheckListFeature
  295. - vdigit::main
  296. - main::VDigit
  297. - vdigit::mapwindow
  298. - mapwindow::VDigitWindow
  299. - vdigit::preferences
  300. - preferences::VDigitSettingsDialog
  301. - vdigit::toolbars
  302. - toolbars::VDigitToolbar
  303. - vdigit::wxvdigit
  304. - wxdigit::VDigitError
  305. - wxdigit::IVDigit
  306. - vdigit::wxdisplay
  307. - wxdisplay::DisplayDriver
  308. \subsection wxnviz 3D view mode (wxNviz)
  309. - nviz::animation
  310. - animation::Animation
  311. - nviz::main
  312. - nviz::mapwindow
  313. - mapwindow::NvizThread
  314. - mapwindow::GLWindow
  315. - nviz::preferences
  316. - preferences::NvizPreferencesDialog
  317. - nviz::tools
  318. - tools::NvizToolWindow
  319. - tools::PositionWindow
  320. - tools::ViewPositionWindow
  321. - tools::LightPositionWindow
  322. - nviz::workspace
  323. - workspace::NvizSettings
  324. - nviz::wxnviz
  325. - wxnviz::Nviz
  326. - wxnviz::Texture
  327. - wxnviz::ImageTexture
  328. - wxnviz::TextTexture
  329. \subsection psmap Cartograpic Composer
  330. - psmap::dialogs
  331. - dialogs::TCValidator
  332. - dialogs::PenStyleComboBox
  333. - dialogs::CheckListCtrl
  334. - dialogs::PsmapDialog
  335. - dialogs::PageSetupDialog
  336. - dialogs::MapDialog
  337. - dialogs::MapFramePanel
  338. - dialogs::RasterPanel
  339. - dialogs::VectorPanel
  340. - dialogs::RasterDialog
  341. - dialogs::MainVectorDialog
  342. - dialogs::VPropertiesDialog
  343. - dialogs::LegendDialog
  344. - dialogs::MapinfoDialog
  345. - dialogs::ScalebarDialog
  346. - dialogs::TextDialog
  347. - dialogs::ImageDialog
  348. - dialogs::NorthArrowDialog
  349. - psmap::instructions
  350. - dialogs::Instruction
  351. - dialogs::InstructionObject
  352. - dialogs::InitMap
  353. - dialogs::MapFrame
  354. - dialogs::PageSetup
  355. - dialogs::Mapinfo
  356. - dialogs::Text
  357. - dialogs::Image
  358. - dialogs::NorthArrow
  359. - dialogs::Point
  360. - dialogs::Line
  361. - dialogs::Rectangle
  362. - dialogs::Scalebar
  363. - dialogs::RasterLegend
  364. - dialogs::VectorLegend
  365. - dialogs::Raster
  366. - dialogs::Vector
  367. - dialogs::VProperties
  368. - psmap::utils
  369. - utils::Rect2D
  370. - utils::Rect2DPP
  371. - utils::Rect2DPS
  372. - utils::UnitConversion
  373. - psmap::frame
  374. - frame::PsMapFrame
  375. - frame::PsMapBufferedWindow
  376. - psmap::menudata
  377. - menudata::PsMapData
  378. - psmap::toolbars
  379. - toolbars::PsMapToolbar
  380. \subsection locWizard Location Wizard
  381. - location_wizard::base
  382. - location_wizard::BaseClass
  383. - location_wizard::dialogs
  384. - dialogs::RegionDef
  385. - dialogs::TransList
  386. - dialogs::SelectTransformDialog
  387. - location_wizard::wizard
  388. - wizard::TitledPage
  389. - wizard::DatabasePage
  390. - wizard::CoordinateSystemPage
  391. - wizard::ProjectionsPage
  392. - wizard::ItemList
  393. - wizard::ProjParamsPage
  394. - wizard::DatumPage
  395. - wizard::EllipsePage
  396. - wizard::GeoreferencedFilePage
  397. - wizard::EPSGPage
  398. - wizard::CustomPage
  399. - wizard::SummaryPage
  400. - wizard::LocationWizard
  401. \subsection plot Plotting modules
  402. - wxplot::base
  403. - base::BasePlotFrame
  404. - wxplot::dialogs
  405. - dialogs::ProfileRasterDialog
  406. - dialogs::ScatterRasterDialog
  407. - dialogs::PlotStatsFrame
  408. - dialogs::HistRasterDialog
  409. - dialogs::TextDialog
  410. - dialogs::OptDialog
  411. - wxplot::histogram
  412. - histogram::Histogram2Frame
  413. - histogram::Histogram2Toolbar
  414. - wxplot::profile
  415. - profile::ProfileFrame
  416. - profile::ProfileToolbar
  417. - wxplot::scatter
  418. - scatter::ScatterFrame
  419. - scatter::ScatterToolbar
  420. \subsection wxIClass wxIClass
  421. - iclass::dialogs
  422. - dialogs::IClassGroupDialog
  423. - dialogs::IClassMapDialog
  424. - dialogs::IClassCategoryManagerDialog
  425. - dialogs::CategoryListCtrl
  426. - dialogs::IClassSignatureFileDialog
  427. - iclass::digit
  428. - digit::IClassVDigit
  429. - digit::IClassVDigitWindow
  430. - iclass::frame
  431. - frame::IClassMapFrame
  432. - frame::MapManager
  433. - iclass::plots
  434. - plots::PlotPanel
  435. - iclass::statistics
  436. - statistics::Statistics
  437. - statistics::BandStatistics
  438. - iclass::toolbars
  439. - toolbars::IClassMapToolbar
  440. - toolbars::IClassToolbar
  441. - toolbars::IClassMapManagerToolbar
  442. - toolbars::IClassMiscToolbar
  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. */