Code:
void MainWindow::setupLayoutActions()
{
if ( !actionGroupTools ) {
actionGroupTools = new QActionGroup( this );
actionGroupTools->setExclusive( TRUE );
connect( actionGroupTools, SIGNAL( selected(QAction*) ), this, SLOT( toolSelected(QAction*) ) );
}
actionEditAdjustSize = new QAction( tr( "Adjust Size" ), createIconSet("designer_adjustsize.png"),
tr( "Adjust &Size" ), CTRL + Key_J, this, 0 );
actionEditAdjustSize->setStatusTip(tr("Adjusts the size of the selected widget") );
actionEditAdjustSize->setWhatsThis( whatsThisFrom( "Layout|Adjust Size" ) );
connect( actionEditAdjustSize, SIGNAL( activated() ), this, SLOT( editAdjustSize() ) );
actionEditAdjustSize->setEnabled( FALSE );
actionEditHLayout = new QAction( tr( "Lay Out Horizontally" ), createIconSet("designer_edithlayout.png"),
tr( "Lay Out &Horizontally" ), CTRL + Key_H, this, 0 );
actionEditHLayout->setStatusTip(tr("Lays out the selected widgets horizontally") );
actionEditHLayout->setWhatsThis( whatsThisFrom( "Layout|Lay Out Horizontally" ) );
connect( actionEditHLayout, SIGNAL( activated() ), this, SLOT( editLayoutHorizontal() ) );
actionEditHLayout->setEnabled( FALSE );
actionEditVLayout = new QAction( tr( "Lay Out Vertically" ), createIconSet("designer_editvlayout.png"),
tr( "Lay Out &Vertically" ), CTRL + Key_L, this, 0 );
actionEditVLayout->setStatusTip(tr("Lays out the selected widgets vertically") );
actionEditVLayout->setWhatsThis( whatsThisFrom( "Layout|Lay Out Vertically" ) );
connect( actionEditVLayout, SIGNAL( activated() ), this, SLOT( editLayoutVertical() ) );
actionEditVLayout->setEnabled( FALSE );
actionEditGridLayout = new QAction( tr( "Lay Out in a Grid" ), createIconSet("designer_editgrid.png"),
tr( "Lay Out in a &Grid" ), CTRL + Key_G, this, 0 );
actionEditGridLayout->setStatusTip(tr("Lays out the selected widgets in a grid") );
actionEditGridLayout->setWhatsThis( whatsThisFrom( "Layout|Lay Out in a Grid" ) );
connect( actionEditGridLayout, SIGNAL( activated() ), this, SLOT( editLayoutGrid() ) );
actionEditGridLayout->setEnabled( FALSE );
actionEditSplitHorizontal = new QAction( tr( "Lay Out Horizontally (in Splitter)" ), createIconSet("designer_editvlayoutsplit.png"),
tr( "Lay Out Horizontally (in S&plitter)" ), 0, this, 0 );
actionEditSplitHorizontal->setStatusTip(tr("Lays out the selected widgets horizontally in a splitter") );
actionEditSplitHorizontal->setWhatsThis( whatsThisFrom( "Layout|Lay Out Horizontally (in Splitter)" ) );
connect( actionEditSplitHorizontal, SIGNAL( activated() ), this, SLOT( editLayoutHorizontalSplit() ) );
actionEditSplitHorizontal->setEnabled( FALSE );
actionEditSplitVertical = new QAction( tr( "Lay Out Vertically (in Splitter)" ), createIconSet("designer_edithlayoutsplit.png"),
tr( "Lay Out Vertically (in Sp&litter)" ), 0, this, 0 );
actionEditSplitVertical->setStatusTip(tr("Lays out the selected widgets vertically in a splitter") );
actionEditSplitVertical->setWhatsThis( whatsThisFrom( "Layout|Lay Out Vertically (in Splitter)" ) );
connect( actionEditSplitVertical, SIGNAL( activated() ), this, SLOT( editLayoutVerticalSplit() ) );
actionEditSplitVertical->setEnabled( FALSE );
actionEditBreakLayout = new QAction( tr( "Break Layout" ), createIconSet("designer_editbreaklayout.png"),
tr( "&Break Layout" ), CTRL + Key_B, this, 0 );
actionEditBreakLayout->setStatusTip(tr("Breaks the selected layout") );
actionEditBreakLayout->setWhatsThis( whatsThisFrom( "Layout|Break Layout" ) );
connect( actionEditBreakLayout, SIGNAL( activated() ), this, SLOT( editBreakLayout() ) );
actionEditBreakLayout->setEnabled( FALSE );
int id = WidgetDatabase::idFromClassName( "Spacer" );
actionInsertSpacer = new WidgetAction( "Layout", actionGroupTools, QString::number( id ).latin1() );
actionInsertSpacer->setToggleAction( TRUE );
actionInsertSpacer->setText( WidgetDatabase::className( id ) );
actionInsertSpacer->setMenuText( tr( "Add ") + WidgetDatabase::className( id ) );
actionInsertSpacer->setIconSet( WidgetDatabase::iconSet( id ) );
actionInsertSpacer->setToolTip( WidgetDatabase::toolTip( id ) );
actionInsertSpacer->setStatusTip( tr( "Insert a %1").arg(WidgetDatabase::toolTip( id )) );
actionInsertSpacer->setWhatsThis( QString("<b>A %1</b><p>%2</p>"
"<p>Click to insert a single %3,"
"or double click to keep the tool selected.")
.arg(WidgetDatabase::toolTip( id ))
.arg(WidgetDatabase::whatsThis( id ))
.arg(WidgetDatabase::toolTip( id ) ));
actionInsertSpacer->addTo( commonWidgetsToolBar );
commonWidgetsPage.append( actionInsertSpacer );
QWidget *w;
commonWidgetsToolBar->setStretchableWidget( ( w = new QWidget( commonWidgetsToolBar ) ) );
w->setBackgroundMode( commonWidgetsToolBar->backgroundMode() );
QWhatsThis::add( layoutToolBar, tr( "<b>The Layout toolbar</b>%1" ).arg(tr(toolbarHelp).arg("")) );
actionEditAdjustSize->addTo( layoutToolBar );
layoutToolBar->addSeparator();
actionEditHLayout->addTo( layoutToolBar );
actionEditVLayout->addTo( layoutToolBar );
actionEditGridLayout->addTo( layoutToolBar );
actionEditSplitHorizontal->addTo( layoutToolBar );
actionEditSplitVertical->addTo( layoutToolBar );
actionEditBreakLayout->addTo( layoutToolBar );
layoutToolBar->addSeparator();
actionInsertSpacer->addTo( layoutToolBar );
QPopupMenu *menu = new QPopupMenu( this, "Layout" );
layoutMenu = menu;
menubar->insertItem( tr( "&Layout" ), menu, toolsMenuId + 1 );
actionEditAdjustSize->addTo( menu );
menu->insertSeparator();
actionEditHLayout->addTo( menu );
actionEditVLayout->addTo( menu );
actionEditGridLayout->addTo( menu );
actionEditSplitHorizontal->addTo( menu );
actionEditSplitVertical->addTo( menu );
actionEditBreakLayout->addTo( menu );
menu->insertSeparator();
actionInsertSpacer->addTo( menu );
}
aus mainwindowactions.cpp
Lesezeichen