Index: python/gui/qgisinterface.sip =================================================================== --- python/gui/qgisinterface.sip (revision 10465) +++ python/gui/qgisinterface.sip (working copy) @@ -70,6 +70,9 @@ /** Return a pointer to the map canvas */ virtual QgsMapCanvas * mapCanvas()=0; + /** Return a pointer to the main tab widget */ + virtual QTabWidget * tabWidget()=0; + /** Return a pointer to the main window (instance of QgisApp in case of QGIS) */ virtual QWidget * mainWindow()=0; @@ -90,6 +93,21 @@ /** Remove specified dock widget from main window (doesn't delete it). Added in QGIS 1.1. */ virtual void removeDockWidget ( QDockWidget * dockwidget )=0; + /** Add a tab widget to the main window */ + virtual void addTabWidget( QWidget *page, const QString &label )=0; + + /** Add a tab widget to the main window with icon */ + virtual void addTabWidget( QWidget *page, const QIcon &icon, const QString &label )=0; + + /** Insert a tab widget to the main window with label */ + virtual void insertTabWidget( int index, QWidget *page, const QString &label )=0; + + /** Insert a tab widget to the main window with icon and label */ + virtual void insertTabWidget( int index, QWidget *page, const QIcon &icon, const QString &label )=0; + + /** Remove specified tab widget from main window (doesn't delete it). Added in QGIS 1.1. */ + virtual void removeTabWidget( int index )=0; + /** refresh legend of a layer */ virtual void refreshLegend( QgsMapLayer * layer )=0; Index: src/app/qgisappinterface.h =================================================================== --- src/app/qgisappinterface.h (revision 10465) +++ src/app/qgisappinterface.h (working copy) @@ -85,6 +85,9 @@ /** Return a pointer to the map canvas used by qgisapp */ QgsMapCanvas * mapCanvas(); + /** Return a pointer to the main tab widget that containing map canvas */ + virtual QTabWidget * tabWidget(); + /** Gives access to main QgisApp object Plugins don't need to know about QgisApp, as we pass it as QWidget, @@ -105,6 +108,21 @@ /** Remove specified dock widget from main window (doesn't delete it). Added in QGIS 1.1. */ void removeDockWidget( QDockWidget * dockwidget ); + /** Add a tab widget to the main window */ + void addTabWidget( QWidget *page, const QString &label ); + + /** Add a tab widget to the main window with icon */ + void addTabWidget( QWidget *page, const QIcon &icon, const QString &label ); + + /** Insert a tab widget to the main window with label */ + void insertTabWidget( int index, QWidget *page, const QString &label ); + + /** Insert a tab widget to the main window with icon and label */ + void insertTabWidget( int index, QWidget *page, const QIcon &icon, const QString &label ); + + /** Remove specified tab widget from main window (doesn't delete it). Added in QGIS 1.1. */ + void removeTabWidget( int index ); + virtual void refreshLegend( QgsMapLayer *l ); /** Add window to Window menu. The action title is the window title Index: src/app/qgisapp.h =================================================================== --- src/app/qgisapp.h (revision 10465) +++ src/app/qgisapp.h (working copy) @@ -59,6 +59,8 @@ #include #include #include +#include +#include #include "qgsconfig.h" #include "qgspoint.h" @@ -137,8 +139,11 @@ //!Overloaded version of the private function with same name that takes the imagename as a parameter void saveMapAsImage( QString, QPixmap * ); /** Get the mapcanvas object from the app */ - QgsMapCanvas * mapCanvas() { return mMapCanvas; }; + QgsMapCanvas * mapCanvas() { return mMapCanvas; } + /** Get the tabwidget object from the app */ + QTabWidget * tabWidget() { return mTabWidget; } + QgsComposer* printComposer() {return mComposer;} //! Set theme (icons) @@ -180,6 +185,22 @@ * After adding the dock widget to the ui (by delegating to the QMainWindow * parent class, it will also add it to the View menu list of docks.*/ void addDockWidget( Qt::DockWidgetArea area, QDockWidget * dockwidget ); + + /** Add a tab widget to the main window with label */ + void addTabWidget( QWidget *page, const QString &label ); + + /** Add a tab widget to the main window with icon and label */ + void addTabWidget( QWidget *page, const QIcon &icon, const QString &label ); + + /** Insert a tab widget to the main window with label */ + void insertTabWidget( int index, QWidget *page, const QString &label ); + + /** Insert a tab widget to the main window with icon and label */ + void insertTabWidget( int index, QWidget *page, const QIcon &icon, const QString &label ); + + /** Remove specified dock widget from main window (doesn't delete it). Added in QGIS 1.1. */ + void removeTabWidget( int index ); + /** Add a toolbar to the main window. Overloaded from QMainWindow. * After adding the toolbar to the ui (by delegating to the QMainWindow * parent class, it will also add it to the View menu list of toolbars.*/ @@ -814,6 +835,20 @@ QgsMapTool* mAddIsland; } mMapTools; +// class QgsTabWidget : public QTabWidget +// { +// public: +// QgsTabWidget(QWidget *parent) { +// QgsTabWidget::QTabWidget(); +// tabBar()->hide(); +// } +// void addTab(QWidget *widget, const QIcon &icon, const QString &label) { QTabWidget::addTab(widget, icon, label); if (count() > 1) tabBar()->show(); } +// void addTab(QWidget *widget, const QString &label) { QTabWidget::addTab(widget, label); if (count() > 1) tabBar()->show(); } +// void insertTab(int index, QWidget *widget, const QIcon &icon, const QString &label) { QTabWidget::insertTab(index, widget, icon, label); if (count() > 1) tabBar()->show(); } +// void insertTab(int index, QWidget *widget, const QString &label) { QTabWidget::insertTab(index, widget, label); if (count() > 1) tabBar()->show(); } +// void removeTab(int index) { if (count() != 1) { QTabWidget::removeTab(index); if (count() == 1) tabBar()->hide(); } } +// }; + QgsMapTool *mNonEditMapTool; //! Widget that will live on the statusbar to display "scale 1:" @@ -846,6 +881,9 @@ QMenu *toolPopupCapture; //! Map canvas QgsMapCanvas *mMapCanvas; + //! Tab widget +// QgsTabWidget *mTabWidget; + QTabWidget *mTabWidget; //! Table of contents (legend) for the map QgsLegend *mMapLegend; //! Cursor for the overview map Index: src/app/qgisapp.cpp =================================================================== --- src/app/qgisapp.cpp (revision 10465) +++ src/app/qgisapp.cpp (working copy) @@ -1548,8 +1548,8 @@ // Connect warning dialog from project reading connect( QgsProject::instance(), SIGNAL( oldProjectVersionWarning( QString ) ), this, SLOT( oldProjectVersionWarning( QString ) ) ); +} -} void QgisApp::createCanvas() { // "theMapCanvas" used to find this canonical instance later @@ -1557,7 +1557,12 @@ mMapCanvas->setWhatsThis( tr( "Map canvas. This is where raster and vector " "layers are displayed when added to the map" ) ); - setCentralWidget( mMapCanvas ); + mTabWidget = new QTabWidget(this); + mTabWidget->setTabPosition(QTabWidget::East); + mTabWidget->addTab(mMapCanvas, tr("2D view")); + + setCentralWidget( mTabWidget ); + // set the focus to the map canvas mMapCanvas->setFocus(); @@ -1653,6 +1658,31 @@ mMapCanvas->refresh(); } +void QgisApp::addTabWidget( QWidget *page, const QString &label ) +{ + mTabWidget->addTab( page, label ); +} + +void QgisApp::addTabWidget( QWidget *page, const QIcon &icon, const QString &label ) +{ + mTabWidget->addTab( page, icon, label ); +} + +void QgisApp::insertTabWidget( int index, QWidget *page, const QString &label ) +{ + mTabWidget->insertTab( index, page, label ); +} + +void QgisApp::insertTabWidget( int index, QWidget *page, const QIcon &icon, const QString &label ) +{ + mTabWidget->insertTab( index, page, icon, label ); +} + +void QgisApp::removeTabWidget( int index ) +{ + mTabWidget->removeTab( index ); +} + QToolBar *QgisApp::addToolBar( QString name ) { QToolBar *toolBar = QMainWindow::addToolBar( name ); Index: src/app/qgisappinterface.cpp =================================================================== --- src/app/qgisappinterface.cpp (revision 10465) +++ src/app/qgisappinterface.cpp (working copy) @@ -136,6 +136,11 @@ return qgis->mapCanvas(); } +QTabWidget * QgisAppInterface::tabWidget() +{ + return qgis->tabWidget(); +} + QWidget * QgisAppInterface::mainWindow() { return qgis; @@ -169,6 +174,31 @@ qgis->removeDockWidget( dockwidget ); } +void QgisAppInterface::addTabWidget( QWidget *page, const QString &label ) +{ + qgis->addTabWidget( page, label ); +} + +void QgisAppInterface::addTabWidget( QWidget *page, const QIcon &icon, const QString &label ) +{ + qgis->addTabWidget( page, icon, label ); +} + +void QgisAppInterface::insertTabWidget( int index, QWidget *page, const QString &label ) +{ + qgis->insertTabWidget( index, page, label ); +} + +void QgisAppInterface::insertTabWidget( int index, QWidget *page, const QIcon &icon, const QString &label ) +{ + qgis->insertTabWidget( index, page, icon, label ); +} + +void QgisAppInterface::removeTabWidget( int index ) +{ + qgis->removeTabWidget( index ); +} + void QgisAppInterface::refreshLegend( QgsMapLayer *l ) { if ( l && qgis && qgis->legend() ) Index: src/plugins/geoprocessing/qgspggeoprocessing.cpp =================================================================== --- src/plugins/geoprocessing/qgspggeoprocessing.cpp (revision 10465) +++ src/plugins/geoprocessing/qgspggeoprocessing.cpp (working copy) @@ -343,7 +343,7 @@ QMessageBox::critical( 0, tr( "Unable to add geometry column" ), tr( "Unable to add geometry column to the output table %1-%2" ) - .arg( bb->bufferLayerName() ).arg( PQerrorMessage( conn ) ) ) ); + .arg( bb->bufferLayerName() ).arg( PQerrorMessage( conn ) ) ); } } Index: src/plugins/CMakeLists.txt =================================================================== --- src/plugins/CMakeLists.txt (revision 10465) +++ src/plugins/CMakeLists.txt (working copy) @@ -29,3 +29,5 @@ SUBDIRS (coordinate_capture dxf2shp_converter) SUBDIRS (ogr_converter) + +SUBDIRS (ossimplanet) Index: src/gui/qgisinterface.h =================================================================== --- src/gui/qgisinterface.h (revision 10465) +++ src/gui/qgisinterface.h (working copy) @@ -25,6 +25,8 @@ class QDockWidget; class QMainWindow; class QWidget; +class QTabWidget; +class QIcon; #include #include @@ -104,6 +106,9 @@ /** Return a pointer to the map canvas */ virtual QgsMapCanvas * mapCanvas() = 0; + /** Return a pointer to the main tab widget */ + virtual QTabWidget * tabWidget() = 0; + /** Return a pointer to the main window (instance of QgisApp in case of QGIS) */ virtual QWidget * mainWindow() = 0; @@ -121,6 +126,21 @@ /** Remove specified dock widget from main window (doesn't delete it). Added in QGIS 1.1. */ virtual void removeDockWidget( QDockWidget * dockwidget ) = 0; + /** Add a tab widget to the main window with label */ + virtual void addTabWidget( QWidget *page, const QString &label ) = 0; + + /** Add a tab widget to the main window with icon and label */ + virtual void addTabWidget( QWidget *page, const QIcon &icon, const QString &label ) = 0; + + /** Insert a tab widget to the main window with label */ + virtual void insertTabWidget( int index, QWidget *page, const QString &label ) = 0; + + /** Insert a tab widget to the main window with icon and label */ + virtual void insertTabWidget( int index, QWidget *page, const QIcon &icon, const QString &label ) = 0; + + /** Remove specified dock widget from main window (doesn't delete it). Added in QGIS 1.1. */ + virtual void removeTabWidget( int index ) = 0; + /** refresh the legend of a layer */ virtual void refreshLegend( QgsMapLayer *l ) = 0;