wxpythonlib.dox 13 KB

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