wxpythonlib.dox 13 KB

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