[[TOC]] = wxGUI Development = ''This page contains wxGUI developer-related issues. It is updated as needed, so it may not reflect all ongoing efforts.'' ''For user-related information see:'' * [http://grass.osgeo.org/grass70/manuals/html70_user/wxGUI.html wxGUI manual pages] * [http://grass.osgeo.org/wiki/wxGUI wxGUI page at GRASS wiki] == Major todos == ''This is a list of major tasks to be done for wxGUI. Many of them are not assigned to any developer or require cooperation of more developers. Please, don't hesitate to join the wxGUI development group and contact them via [http://lists.osgeo.org/listinfo/grass-dev mailing list].'' * [wiki:wxGUIDevelopment/New_Startup New startup] (window or procedure) * Rewrite thread-based class (see, forms.py, gconsole.py, etc.) * [wiki:wxGUIDevelopment/Refactoring Refactoring] * [wiki:wxGUIDevelopment/MapRendering Map rendering] * [wiki:wxGUIDevelopment/SingleWindow Single Window] * [http://grass.osgeo.org/wiki/WxGUI#General_GUI_Design General GUI desing] (Python/wxPython required) * Clean up & integrate [source:grass-addons/grass6/gui/wxpython/wx.data_catalog data catalog] into wxGUI in trunk * [wiki:wxGUIDevelopment/RedesigningStatusbar Redesigning Map Display statusbar] * [wiki:wxGUIDevelopment/ImprovingSingleWindowUX Improving Single-Window GUI user experience] * Integration of imagery modules and wxGUI * Clean up/update imagery modules and library (C required) * [http://grass.osgeo.org/wiki/WxGUI#Imagery_tools integrate these tools into wxGUI] - e.g. {{{i.class}}}, {{{i.ortho.photo}}} (Python/wxPython required) * [wiki:wxGUIDevelopment/wxIClass wxIClass] is currently under development * [http://grass.osgeo.org/wiki/wxNviz 3D view mode] * Vector querying * Allowing interactive queries using a line or polygon drawn by the user on the display canvas. This would be facilitated by improvements to v.what that allows it to find all vector objects within (or optionally intersecting) a line or polygon defined by a set of coordinate pairs. This could be done via v.select but it sounds like v.select might be problematic to use in this way. * Thematic mapping * Create a new python wrapper script for thematic mapping. This would include d.thematic for areas, and scripting code (possibly salvaged from `d.vect.thematic`) for points and lines. * It also would need legend generating code. * Times series / voxel slices visualizer * Given the increasing need to support extensive time series of data from simulations or remote sensing, it should combine and enhance capabilities currently available through combination of `xganim`, `d.slide.show`, !ImageMagic and various custom scripts to visually analyze series of raster and vector data using animations, frame browsing and series management. In addition to the current xganim (or its tcltk version) + d.slide.show capabilities the following would be desirable: * interactively delete and add frames to the series (similar to moviemaker or iMovie tools) * add dynamic time bar, static scale bar and legend to the animation * save series of maps as series of png images or an animated gif or other movie format if feasible * query the raster series - click on a grid cell will return graph that shows evolution of values in that cell (similar to the profile tool but this runs through time) * animate/browse horizontal (or vertical) slices through voxel model without the user having to convert the voxel data into series of 2D raster files. * [http://grasswiki.osgeo.org/wiki/WxGUI_Animation_Tool WxGUI Animation Tool] provides some of the functionality mentioned here == wxGUI components development == * [wiki:wxGUIDevelopment/VDigit Vector digitizer] * [wiki:wxGUIDevelopment/GUIForPs.map GUI for ps.map] * [wiki:wxGUIDevelopment/Modeler wxGUI Modeler] * wxNviz (3D view mode) * [http://grass.osgeo.org/wiki/WxNviz#Known_issues Known issues] * See also [http://grass.osgeo.org/wiki/WxNviz GRASS User Wiki] page. * [wiki:wxGUIDevelopment/wxIClass wxIClass] (i.class integration) * [wiki:wxGUIDevelopment/vkrige vkrige] (v.krige development) * [wiki:wxGUIDevelopment/wxDataCatalog Data Catalog] == Other wxGUI development == * [wiki:wxGUIDevelopment/Toolboxes wxGUI Toolboxes] == Major source code changes == === Changing GUI modules directory layout === Done in r49347 (trunk) r49621 (devbr6). GUI modules from directory `gui_modules` have been moved to the new GUI packages: * `core` for core non-GUI classes (gcmd, debug, etc.) * `gui_core` for core GUI classes (goutput, prompt, menuform, etc) * `lmgr` for Layer Manager * `mapdisp` for Map Display * `vdigit` for Vector Digitizer * `gcp` for Georectifier * `nviz` for 3D view (wxNviz) * `gmodeler` for Graphical Modeler * `psmap` for Cartographic Composer * `dbm` for !DataBase Manager * `location_wizard` for Location Wizard * `wxplot` for wx.plot-based classes == Source code == * GRASS 8 - [wiki:wxGUIDevelopment/SingleWindow] * GRASS 7.0 - [source:grass/trunk/gui/wxpython] * GRASS 6.5 - [source:grass/branches/develbranch_6/gui/wxpython] * GRASS 6.4 - [source:grass/branches/releasebranch_6_4/gui/wxpython] == New bugs/wishes == [[TicketQuery(status=new&component=wxGUI&order=priority)]] === GRASS 6.4 === [[TicketQuery(status=new&component=wxGUI&milestone=6.4.0&order=priority)]] === GRASS 6.5 === [[TicketQuery(status=new&component=wxGUI&milestone=6.5.0&order=priority)]] === GRASS 7.0 === [[TicketQuery(status=new&component=wxGUI&milestone=7.0.0&order=priority)]] == Assigned bugs/wishes == [[TicketQuery(status=assigned&component=wxGUI&order=priority)]] === GRASS 6.4 === [[TicketQuery(status=assigned&component=wxGUI&milestone=6.4.0&order=priority)]] === GRASS 6.5 === [[TicketQuery(status=assigned&component=wxGUI&milestone=6.5.0&order=priority)]] === GRASS 7.0 === [[TicketQuery(status=assigned&component=wxGUI&milestone=7.0.0&order=priority)]] == Reopened bugs/wishes == [[TicketQuery(status=reopened&component=wxGUI&order=priority)]] === GRASS 6.4 === [[TicketQuery(status=reopened&component=wxGUI&milestone=6.4.0&order=priority)]] === GRASS 6.5 === [[TicketQuery(status=reopened&component=wxGUI&milestone=6.5.0&order=priority)]] === GRASS 7.0 === [[TicketQuery(status=reopened&component=wxGUI&milestone=7.0.0&order=priority)]] == Closed bugs/wishes == [query:status=closed&component=wxGUI&order=priority Closed tickets (link)]