123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552 |
- /*! \page wxpythonlib GRASS wxPython-based GUI
- The GUI (Graphical User Interface) is written in the Python
- programming language using <a
- href="http://www.wxpython.org">wxPython</a> library - a blending of
- the <a href="http://www.wxwidgets.org">wxWidgets</a> library for
- Python.
- The wxPython GUI (so called <em>wxGUI</em>) is composed of two main
- <em>components</em>:
- - <b>Layer Manager</b> and
- - <b>Map Display Window</b>.
- The <em>Layer Manager</em> allows users to run different GRASS modules
- from a menu, includes map layer management, integrated command-line
- prompt, and command output window. The <em>Map Display Window</em>
- integrates basic tools for zooming, panning, data querying,
- decorations (north arrows, barscale, etc.). Additional tools like
- vector digitizer or georectification tool are also available.
- <b>Table of content</b>
- - \ref background
- - \ref classes
- - \ref core
- - \ref gui_core
- - \ref lmgr
- - \ref mapdisp
- - \ref wscreen
- - \ref dbmgr
- - \ref gpc
- - \ref gmodeler
- - \ref vdigit
- - \ref wxnviz
- - \ref psmap
- - \ref locWizard
- - \ref plot
- - \ref mapswipe
- - \ref other
- - \ref devel
- - \ref seeAlso
- - \ref refs
- \section background Background
- The plan for a native GUI for GRASS found its origin in the project <a
- href="http://geo.fsv.cvut.cz/~landa/publications/2008/unpublished/fbk-report/technology-for-geoinformatics.html">GFOSS-TN</a>,
- a collaboration between <a href="http://www.fbk.eu">FBK</a>
- (Fondazione Bruno Kessler) and the Information System Service of the
- Trento municipality (Italy). The wxGUI is successor of Tcl/Tk GUI
- available in GRASS 5 and GRASS 6.
- \section classes List of Modules and Classes
- \subsection core Core modules
- - core::debug
- - debug::DebugMsg
- - core::globalvar
- - core::gcmd
- - gcmd::GError
- - gcmd::GWarning
- - gcmd::GMessage
- - gcmd::GException
- - gcmd::Popen
- - gcmd::Command
- - gcmd::CommandThread
- - core::gconsole
- - goutput::CmdThread
- - goutput::GStdout
- - goutput::GStderr
- - goutput::GConsole
- - core::menudata
- - menudata::MenuData
- - core::modulesdata
- - modulesdata::ModulesData
- - core::render
- - render::Layer
- - render::Layer
- - render::MapLayer
- - render::Overlay
- - render::Map
- - core::settings
- - settings::Settings
- - core::units
- - units::BaseUnits
- - core::utils
- - core::workspace
- - workspace::ProcessWorkspaceFile
- - workspace::WriteWorkspaceFile
- - workspace::ProcessGrcFile
- \subsection gui_core GUI core modules
- - gui_core::dialogs
- - dialogs::SimpleDialog
- - dialogs::LocationDialog
- - dialogs::MapsetDialog
- - dialogs::NewVectorDialog
- - dialogs::SavedRegion
- - dialogs::DecorationDialog
- - dialogs::TextLayerDialog
- - dialogs::GroupDialog
- - dialogs::MapLayersDialog
- - dialogs::ImportDialog
- - dialogs::GdalImportDialog
- - dialogs::GdalOutputDialog
- - dialogs::DxfImportDialog
- - dialogs::LayersList (used by MultiImport)
- - dialogs::SetOpacityDialog
- - dialogs::StaticWrapText
- - dialogs::ImageSizeDialog
- - dialogs::SqlQueryFrame
- - dialogs::SymbolDialog
- - gui_core::forms
- - forms::TaskFrame
- - forms::CmdPanel
- - forms::GrassGUIApp
- - gui_core::ghelp
- - ghelp::AboutWindow
- - ghelp::HelpFrame
- - ghelp::HelpWindow
- - ghelp::HelpPanel
- - gui_core::goutput
- - goutput::GConsoleWindow
- - goutput::GStc
- - gui_core::gselect
- - gselect::Select
- - gselect::VectorSelect
- - gselect::TreeCrtlComboPopup
- - gselect::VectorDBInfo
- - gselect::LayerSelect
- - gselect::DriverSelect
- - gselect::DatabaseSelect
- - gselect::ColumnSelect
- - gselect::DbaseSelect
- - gselect::LocationSelect
- - gselect::MapsetSelect
- - gselect::SubGroupSelect
- - gselect::FormatSelect
- - gselect::GdalSelect
- - gselect::ProjSelect
- - gselect::ElementSelect
- - gselect::OgrTypeSelect
- - gui_core::mapdisp
- - mapdisp::MapFrameBase
- - mapdisp::SingleMapFrame
- - mapdisp::DoubleMapFrame
- - gui_core::mapwindow
- - mapwindow::MapWindow
- - gui_core::menu
- - menu::Menu
- - menu::SearchModuleWindow
- - menu::MenuTree
- - gui_core::preferences
- - preferences::PreferencesBaseDialog
- - preferences::PreferencesDialog
- - preferences::DefaultFontDialog
- - preferences::MapsetAccess
- - gui_core::prompt
- - prompt::GPrompt
- - prompt::GPromptSTC
- - gui_core::toolbars
- - toolbars::BaseToolbar
- - gui_core::widgets
- - widgets::ScrolledPanel
- - widgets::NTCValidator
- - widgets::SimpleValidator
- - widgets::NumTextCtrl
- - widgets::FloatSlider
- - widgets::SymbolButton
- - widgets::StaticWrapText
- - widgets::BaseValidator
- - widgets::IntegerValidator
- - widgets::FloatValidator
- - widgets::NTCValidator
- - widgets::ItemTree
- - widgets::SearchModuleWidget
- \subsection lmgr Layer Manager
- - wxgui
- - wxgui::GMApp
- - wxgui::Usage
- - lmgr::layertree
- - lmgr::LayerTree
- - lmgr::menudata
- - menudata::LayerManagerMenuData
- - lmgr::pyshell
- - pyshell::PyShellWindow
- - lmgr::toolbars
- - toolbars::LMWorkspaceToolbar
- - toolbars::LMDataToolbar
- - toolbars::LMToolsToolbar
- - toolbars::LMMiscToolbar
- - toolbars::LMVectorToolbar
- - toolbars::LMNvizToolbar
- - lmgr::frame
- - frame::GMFrame
- \subsection mapdisp Map Display Window
- - mapdisp::frame
- - mapdisp::MapFrame
- - mapdisp::MapApp
- - mapdisp::gprint
- - gprint::MapPrint
- - gprint::PrintOptions
- - mapdisp::mapwindow
- - mapwindow::BufferedWindow
- - mapdisp::statusbar
- - statusbar::SbException
- - statusbar::SbManager
- - statusbar::SbItem
- - statusbar::SbRender
- - statusbar::SbShowRegion
- - statusbar::SbAlignExtent
- - statusbar::SbResolution
- - statusbar::SbMapScale
- - statusbar::SbGoTo
- - statusbar::SbProjection
- - statusbar::SbMask
- - statusbar::SbTextItem
- - statusbar::SbDisplayGeometry
- - statusbar::SbCoordinates
- - statusbar::SbRegionExtent
- - statusbar::SbCompRegionExtent
- - statusbar::SbProgress
- - mapdisp::toolbars
- - toolbars::MapToolbar
- \subsection wscreen Welcome screen
- - gis_set_error
- - gis_set
- - gis_set::GRASSStartup
- - gis_set::StartUp
- - gis_set::GListBox
- \subsection dbmgr Database Manager
- - dbmgr::dialogs
- - dialogs::DisplayAttributesDialog
- - dialogs::ModifyTableRecord
- - dbmgr::manager
- - manager::Log
- - manager::VirtualAttributeList
- - manager::AttributeManager
- - manager::TableListCtrl
- - manager::LayerListCtrl
- - manager::LayerBook
- - dbmgr::sqlbuilder
- - sqlbuilder::SQLFrame
- - dbmgr::vinfo
- - vinfo::VectorDBInfo
- \subsection gpc Georectifier
- - gcp::manager
- - manager::GCPWizard
- - manager::LocationPage
- - manager::GroupPage
- - manager::DispMapPage
- - manager::GCP
- - manager::GCPList
- - manager::VectGroup
- - manager::EditGCP
- - manager::GrSettingsDialog
- - gcp::mapdisplay
- - mapdisplay::MapFrame
- - gcp::toolbars
- - toolbars::GCPMapToolbar
- - toolbars::GCPDisplayToolbar
- \subsection gmodeler Graphical Modeler
- - gmodeler::dialogs
- - dialogs::ModelDataDialog
- - dialogs::ModelSearchDialog
- - dialogs::ModelRelationDialog
- - dialogs::ModelItemDialog
- - dialogs::ModelLoopDialog
- - dialogs::ModelConditionDialog
- - dialogs::ModelListCtrl
- - dialogs::ValiableListCtrl
- - dialogs::ItemListCtrl
- - dialogs::ItemCheckListCtrl
- - gmodeler::frame
- - frame::ModelToolbar
- - frame::ModelFrame
- - frame::ModelCanvas
- - frame::ModelEvtHandler
- - frame::VariablePanel
- - frame::ItemPanel
- - frame::PythonPanel
- - gmodeler::menudata
- - menudata::ModelerMenuData
- - gmodeler::model
- - model::Model
- - model::ModelObject
- - model::ModelAction
- - model::ModelData
- - model::ModelRelation
- - model::ModelItem
- - model::ModelLoop
- - model::ModelCondition
- - model::ProcessModelFile
- - model::WriteModelFile
- - model::WritePythonFile
- - model::ModelParamDialog
- - gmodeler::preferences
- - preferences::PreferencesDialog
- - preferences::PropertiesDialog
- - gmodeler::pystc
- - pystc::PyStc
- \subsection vdigit Vector digitizer
- - vdigit::dialogs
- - dialogs::VDigitCategoryDialog
- - dialogs::CategoryListCtrl
- - dialogs::VDigitZBulkDialog
- - dialogs::VDigitDuplicatesDialog
- - dialogs::CheckListFeature
- - vdigit::main
- - main::VDigit
- - vdigit::mapwindow
- - mapwindow::VDigitWindow
- - vdigit::preferences
- - preferences::VDigitSettingsDialog
- - vdigit::toolbars
- - toolbars::VDigitToolbar
- - vdigit::wxvdigit
- - wxdigit::VDigitError
- - wxdigit::IVDigit
- - vdigit::wxdisplay
- - wxdisplay::DisplayDriver
- \subsection wxnviz 3D view mode (wxNviz)
- - nviz::animation
- - animation::Animation
- - nviz::main
- - nviz::mapwindow
- - mapwindow::NvizThread
- - mapwindow::GLWindow
- - nviz::preferences
- - preferences::NvizPreferencesDialog
- - nviz::tools
- - tools::NvizToolWindow
- - tools::PositionWindow
- - tools::ViewPositionWindow
- - tools::LightPositionWindow
- - nviz::workspace
- - workspace::NvizSettings
- - nviz::wxnviz
- - wxnviz::Nviz
- - wxnviz::Texture
- - wxnviz::ImageTexture
- - wxnviz::TextTexture
- \subsection psmap Cartograpic Composer
- - psmap::dialogs
- - dialogs::TCValidator
- - dialogs::PenStyleComboBox
- - dialogs::CheckListCtrl
- - dialogs::PsmapDialog
- - dialogs::PageSetupDialog
- - dialogs::MapDialog
- - dialogs::MapFramePanel
- - dialogs::RasterPanel
- - dialogs::VectorPanel
- - dialogs::RasterDialog
- - dialogs::MainVectorDialog
- - dialogs::VPropertiesDialog
- - dialogs::LegendDialog
- - dialogs::MapinfoDialog
- - dialogs::ScalebarDialog
- - dialogs::TextDialog
- - dialogs::ImageDialog
- - dialogs::NorthArrowDialog
- - psmap::instructions
- - dialogs::Instruction
- - dialogs::InstructionObject
- - dialogs::InitMap
- - dialogs::MapFrame
- - dialogs::PageSetup
- - dialogs::Mapinfo
- - dialogs::Text
- - dialogs::Image
- - dialogs::NorthArrow
- - dialogs::Point
- - dialogs::Line
- - dialogs::Rectangle
- - dialogs::Scalebar
- - dialogs::RasterLegend
- - dialogs::VectorLegend
- - dialogs::Raster
- - dialogs::Vector
- - dialogs::VProperties
- - psmap::utils
- - utils::Rect2D
- - utils::Rect2DPP
- - utils::Rect2DPS
- - utils::UnitConversion
- - psmap::frame
- - frame::PsMapFrame
- - frame::PsMapBufferedWindow
- - psmap::menudata
- - menudata::PsMapMenuData
- - psmap::toolbars
- - toolbars::PsMapToolbar
- \subsection locWizard Location Wizard
- - location_wizard::base
- - location_wizard::BaseClass
- - location_wizard::dialogs
- - dialogs::RegionDef
- - dialogs::TransList
- - dialogs::SelectTransformDialog
- - location_wizard::wizard
- - wizard::TitledPage
- - wizard::DatabasePage
- - wizard::CoordinateSystemPage
- - wizard::ProjectionsPage
- - wizard::ItemList
- - wizard::ProjParamsPage
- - wizard::DatumPage
- - wizard::EllipsePage
- - wizard::GeoreferencedFilePage
- - wizard::EPSGPage
- - wizard::CustomPage
- - wizard::SummaryPage
- - wizard::LocationWizard
- \subsection plot Plotting modules
- - wxplot::base
- - base::BasePlotFrame
- - wxplot::dialogs
- - dialogs::ProfileRasterDialog
- - dialogs::ScatterRasterDialog
- - dialogs::PlotStatsFrame
- - dialogs::HistRasterDialog
- - dialogs::TextDialog
- - dialogs::OptDialog
- - wxplot::histogram
- - histogram::Histogram2Frame
- - histogram::Histogram2Toolbar
- - wxplot::profile
- - profile::ProfileFrame
- - profile::ProfileToolbar
- - wxplot::scatter
- - scatter::ScatterFrame
- - scatter::ScatterToolbar
- \subsection wxIClass wxIClass
- - iclass::dialogs
- - dialogs::IClassGroupDialog
- - dialogs::IClassMapDialog
- - dialogs::IClassCategoryManagerDialog
- - dialogs::CategoryListCtrl
- - dialogs::IClassSignatureFileDialog
- - iclass::digit
- - digit::IClassVDigit
- - digit::IClassVDigitWindow
- - iclass::frame
- - frame::IClassMapFrame
- - frame::MapManager
- - iclass::plots
- - plots::PlotPanel
- - iclass::statistics
- - statistics::Statistics
- - statistics::BandStatistics
- - iclass::toolbars
- - toolbars::IClassMapToolbar
- - toolbars::IClassToolbar
- - toolbars::IClassMapManagerToolbar
- - toolbars::IClassMiscToolbar
- \subsection mapswipe Map Swipe
- - mapswipe::frame
- - frame::SwipeMapFrame
- - frame::MapSplitter
- - mapswipe::mapwindow
- - mapwindow::SwipeBufferedWindow
- - mapwindow::_MouseEvent
- - mapswipe::dialogs
- - dialogs::SwipeMapDialog
- - mapswipe::toolbars
- - toolbars::SwipeMapToolbar
- - toolbars::SwipeMainToolbar
- - toolbars::SwipeMiscToolbar
- \subsection other Other GUI modules
- - modules::colorrules
- - colorrules::RulesPanel
- - colorrules::ColorTable
- - colorrules::RasterColorTable
- - colorrules::VectorColorTable
- - colorrules::ThematicVectorTable
- - colorrules::BufferedWindow
- - modules::extensions
- - extensions::InstallExtensionWindow
- - extensions::ExtensionTree
- - extensions::UninstallExtensionWindow
- - extensions::CheckListExtension
- - modules::histogram
- - histogram::BufferedWindow
- - histogram::HistogramFrame
- - histogram::HistogramToolbar
- - modules::mcalc_builder
- - mcalc_builder::MapCalcFrame
- - modules::ogc_services
- - ogc_services::WMSDialog
- - ogc_services::LayersList
- - modules::vclean
- - vclean::VectorCleaningFrame
- \section devel Further Development
- Ongoing development focuses on stability, portability and on the
- integration of OpenGL (see \ref wxnviz).
- A Map Composer, a tool for hardcopy map outputs is also planned to be
- developed. Currently, the tools for creating hardcopy maps (map
- layout) are limited in GRASS because its focus on modeling and spatial
- analysis. GRASS gives the user ability to add only a very simple and
- standardized legend, north arrow and scale to display to the graphics
- monitor and then export the display to an external image file such as
- a png. These map features are very basic and cannot be customized. The
- goal is to allow users to prepare simple cartographic outputs
- comparable e.g. with other, proprietary GIS map layout functionality.
- For more info see http://trac.osgeo.org/grass/wiki/wxGUIDevelopment
- \section seeAlso See also
- - GRASS User Wiki - http://grass.osgeo.org/wiki/WxGUI
- - GRASS Devs Wiki - http://trac.osgeo.org/grass/wiki/wxGUIDevelopment
- \section refs References
- - 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>)
- */
|