wxpythonlib.dox 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523
  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::UnitConversion
  330. - dialogs::TCValidator
  331. - dialogs::PenStyleComboBox
  332. - dialogs::CheckListCtrl
  333. - dialogs::Instruction
  334. - dialogs::InstructionObject
  335. - dialogs::InitMap
  336. - dialogs::MapFrame
  337. - dialogs::PageSetup
  338. - dialogs::Mapinfo
  339. - dialogs::Text
  340. - dialogs::Image
  341. - dialogs::NorthArrow
  342. - dialogs::Scalebar
  343. - dialogs::RasterLegend
  344. - dialogs::VectorLegend
  345. - dialogs::Raster
  346. - dialogs::Vector
  347. - dialogs::VProperties
  348. - dialogs::PsmapDialog
  349. - dialogs::PageSetupDialog
  350. - dialogs::MapDialog
  351. - dialogs::MapFramePanel
  352. - dialogs::RasterPanel
  353. - dialogs::VectorPanel
  354. - dialogs::RasterDialog
  355. - dialogs::MainVectorDialog
  356. - dialogs::VPropertiesDialog
  357. - dialogs::LegendDialog
  358. - dialogs::MapinfoDialog
  359. - dialogs::ScalebarDialog
  360. - dialogs::TextDialog
  361. - dialogs::ImageDialog
  362. - dialogs::NorthArrowDialog
  363. - psmap::frame
  364. - frame::PsMapFrame
  365. - frame::PsMapBufferedWindow
  366. - psmap::menudata
  367. - menudata::PsMapData
  368. - psmap::toolbars
  369. - toolbars::PsMapToolbar
  370. \subsection locWizard Location Wizard
  371. - location_wizard::base
  372. - location_wizard::BaseClass
  373. - location_wizard::dialogs
  374. - dialogs::RegionDef
  375. - dialogs::TransList
  376. - dialogs::SelectTransformDialog
  377. - location_wizard::wizard
  378. - wizard::TitledPage
  379. - wizard::DatabasePage
  380. - wizard::CoordinateSystemPage
  381. - wizard::ProjectionsPage
  382. - wizard::ItemList
  383. - wizard::ProjParamsPage
  384. - wizard::DatumPage
  385. - wizard::EllipsePage
  386. - wizard::GeoreferencedFilePage
  387. - wizard::EPSGPage
  388. - wizard::CustomPage
  389. - wizard::SummaryPage
  390. - wizard::LocationWizard
  391. \subsection plot Plotting modules
  392. - wxplot::base
  393. - base::BasePlotFrame
  394. - wxplot::dialogs
  395. - dialogs::ProfileRasterDialog
  396. - dialogs::ScatterRasterDialog
  397. - dialogs::PlotStatsFrame
  398. - dialogs::HistRasterDialog
  399. - dialogs::TextDialog
  400. - dialogs::OptDialog
  401. - wxplot::histogram
  402. - histogram::Histogram2Frame
  403. - histogram::Histogram2Toolbar
  404. - wxplot::profile
  405. - profile::ProfileFrame
  406. - profile::ProfileToolbar
  407. - wxplot::scatter
  408. - scatter::ScatterFrame
  409. - scatter::ScatterToolbar
  410. \subsection wxIClass wxIClass
  411. - iclass::dialogs
  412. - dialogs::IClassGroupDialog
  413. - dialogs::IClassMapDialog
  414. - dialogs::IClassCategoryManagerDialog
  415. - dialogs::CategoryListCtrl
  416. - dialogs::IClassSignatureFileDialog
  417. - iclass::digit
  418. - digit::IClassVDigit
  419. - digit::IClassVDigitWindow
  420. - iclass::frame
  421. - frame::IClassMapFrame
  422. - frame::MapManager
  423. - iclass::plots
  424. - plots::PlotPanel
  425. - iclass::statistics
  426. - statistics::Statistics
  427. - statistics::BandStatistics
  428. - iclass::toolbars
  429. - toolbars::IClassMapToolbar
  430. - toolbars::IClassToolbar
  431. - toolbars::IClassMapManagerToolbar
  432. - toolbars::IClassMiscToolbar
  433. \subsection other Other GUI modules
  434. - modules::colorrules
  435. - colorrules::RulesPanel
  436. - colorrules::ColorTable
  437. - colorrules::RasterColorTable
  438. - colorrules::VectorColorTable
  439. - colorrules::ThematicVectorTable
  440. - colorrules::BufferedWindow
  441. - modules::extensions
  442. - extensions::InstallExtensionWindow
  443. - extensions::ExtensionTree
  444. - extensions::UninstallExtensionWindow
  445. - extensions::CheckListExtension
  446. - modules::histogram
  447. - histogram::BufferedWindow
  448. - histogram::HistogramFrame
  449. - histogram::HistogramToolbar
  450. - modules::mcalc_builder
  451. - mcalc_builder::MapCalcFrame
  452. - modules::ogc_services
  453. - ogc_services::WMSDialog
  454. - ogc_services::LayersList
  455. - modules::vclean
  456. - vclean::VectorCleaningFrame
  457. \section devel Further Development
  458. Ongoing development focuses on stability, portability and on the
  459. integration of OpenGL (see \ref wxnviz).
  460. A Map Composer, a tool for hardcopy map outputs is also planned to be
  461. developed. Currently, the tools for creating hardcopy maps (map
  462. layout) are limited in GRASS because its focus on modeling and spatial
  463. analysis. GRASS gives the user ability to add only a very simple and
  464. standardized legend, north arrow and scale to display to the graphics
  465. monitor and then export the display to an external image file such as
  466. a png. These map features are very basic and cannot be customized. The
  467. goal is to allow users to prepare simple cartographic outputs
  468. comparable e.g. with other, proprietary GIS map layout functionality.
  469. For more info see http://trac.osgeo.org/grass/wiki/wxGUIDevelopment
  470. \section seeAlso See also
  471. - GRASS User Wiki - http://grass.osgeo.org/wiki/WxGUI
  472. - GRASS Devs Wiki - http://trac.osgeo.org/grass/wiki/wxGUIDevelopment
  473. \section refs References
  474. - 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>)
  475. */