/*! \page wxpythonlib GRASS wxPython-based GUI The GUI (Graphical User Interface) is written in the Python programming language using wxPython library - a blending of the wxWidgets library for Python. The wxPython GUI (so called wxGUI) is composed of two main components: - Layer Manager and - Map Display Window. The Layer Manager allows users to run different GRASS modules from a menu, includes map layer management, integrated command-line prompt, and command output window. The Map Display Window integrates basic tools for zooming, panning, data querying, decorations (north arrows, barscale, etc.). Additional tools like vector digitizer or georectification tool are also available. \tableofcontents \par Related pages \subpage wxguitoolboxes \section background Background The plan for a native GUI for GRASS found its origin in the project GFOSS-TN, a collaboration between FBK (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::menutree - menutree::MenuTreeModelBuilder - core::modulesdata - modulesdata::ModulesData - core::render - 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 - gui_core::preferences - preferences::PreferencesBaseDialog - preferences::PreferencesDialog - preferences::DefaultFontDialog - preferences::MapsetAccess - gui_core::prompt - prompt::GPrompt - prompt::GPromptSTC - gui_core::query - query::QueryDialog - gui_core::toolbars - toolbars::BaseToolbar - gui_core::treeview - treeview::TreeView - 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::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 (PDF) */