void Toolbar::addsep(void) { layout->addSpacing(3); QFrame *frame = new QFrame(this); frame->setLineWidth(1); frame->setMidLineWidth(0); frame->setFrameStyle(QFrame::VLine|QFrame::Sunken); frame->setFixedHeight(height()-4); layout->addWidget(frame); layout->addSpacing(3); }
//----------------------------------------------------------------------------- // Function: AddressSpaceEditor::setupLayout() //----------------------------------------------------------------------------- void AddressSpaceEditor::setupLayout() { QScrollArea* scrollArea = new QScrollArea(this); scrollArea->setWidgetResizable(true); scrollArea->setFrameShape(QFrame::NoFrame); QVBoxLayout* scrollLayout = new QVBoxLayout(this); scrollLayout->addWidget(scrollArea); scrollLayout->setContentsMargins(0, 0, 0, 0); QWidget* topWidget = new QWidget(scrollArea); topWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); QVBoxLayout* topLayout = new QVBoxLayout(topWidget); QHBoxLayout* nameAndGeneralLayout = new QHBoxLayout(); nameAndGeneralLayout->addWidget(&nameEditor_, 0, Qt::AlignTop); nameAndGeneralLayout->addWidget(&generalEditor_); topLayout->addLayout(nameAndGeneralLayout); topLayout->addWidget(&segmentsEditor_, 1); topLayout->setContentsMargins(0, 0, 0, 0); QWidget* bottomWidget = new QWidget(scrollArea); bottomWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); QVBoxLayout* bottomLayout = new QVBoxLayout(bottomWidget); bottomLayout->addWidget(&localMemMapEditor_); bottomLayout->setContentsMargins(0, 0, 0, 0); QSplitter* verticalSplitter = new QSplitter(Qt::Vertical, scrollArea); verticalSplitter->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); verticalSplitter->addWidget(topWidget); verticalSplitter->addWidget(bottomWidget); verticalSplitter->setStretchFactor(1, 1); QSplitterHandle* handle = verticalSplitter->handle(1); QVBoxLayout* handleLayout = new QVBoxLayout(handle); handleLayout->setSpacing(0); handleLayout->setMargin(0); QFrame* line = new QFrame(handle); line->setLineWidth(2); line->setMidLineWidth(2); line->setFrameShape(QFrame::HLine); line->setFrameShadow(QFrame::Sunken); handleLayout->addWidget(line); verticalSplitter->setHandleWidth(10); scrollArea->setWidget(verticalSplitter); }
void Panel::initialize( QString panelName ) { QFont font; font.setFamily( "Calibri" ); font.setPointSize( 13 ); const int panelWidth = 256; QLabel *panelLabel = new QLabel( panelName ); panelLabel->setAlignment( Qt::AlignRight ); panelLabel->setFont( font ); QToolButton *panelButton = new QToolButton(); icon.addPixmap( QPixmap(":/Resources/Misc/triangle-left.png"), QIcon::Normal, QIcon::Off ); icon.addPixmap( QPixmap(":/Resources/Misc/triangle-down.png"), QIcon::Normal, QIcon::On ); panelButton->setIcon( icon ); panelButton->setIconSize( QSize(16,16) ); panelButton->setAutoRaise( true ); panelButton->setCheckable( true ); QFrame *line = new QFrame(); line->setFixedWidth( panelWidth ); line->setFrameShape( QFrame::HLine ); line->setFrameShadow( QFrame::Sunken ); line->setLineWidth( 0 ); line->setMidLineWidth( 2 ); QHBoxLayout *barLayout = new QHBoxLayout(); barLayout->addWidget( panelLabel, 1, Qt::AlignVCenter ); barLayout->addWidget( panelButton, 0, Qt::AlignVCenter ); panelExtension = new QWidget(); panelExtension->hide(); QObject::connect( panelButton, SIGNAL(toggled(bool)), panelExtension, SLOT(setVisible(bool)) ); QVBoxLayout *panelLayout = new QVBoxLayout( this ); panelLayout->addLayout( barLayout ); panelLayout->addWidget( panelExtension ); //panelLayout->addSpacing( -2 ); panelLayout->addWidget( line ); setLayout( panelLayout ); }
/************************************************ * Widget Listing: * Creation of the list of drawed lovely buttons ************************************************/ WidgetListing::WidgetListing( intf_thread_t *p_intf, QWidget *_parent ) : QListWidget( _parent ) { /* We need the parent to know the options checked */ parent = qobject_cast<ToolbarEditDialog *>(_parent); assert( parent ); /* Normal options */ setViewMode( QListView::ListMode ); setTextElideMode( Qt::ElideNone ); setDragEnabled( true ); int icon_size = fontMetrics().height(); setIconSize( QSize( icon_size * 2, icon_size ) ); /* All the buttons do not need a special rendering */ for( int i = 0; i < BUTTON_MAX; i++ ) { QListWidgetItem *widgetItem = new QListWidgetItem( this ); widgetItem->setText( qtr( nameL[i] ) ); widgetItem->setSizeHint( QSize( widgetItem->sizeHint().width(), 32 ) ); widgetItem->setIcon( QIcon( iconL[i] ) ); widgetItem->setData( Qt::UserRole, QVariant( i ) ); widgetItem->setToolTip( widgetItem->text() ); addItem( widgetItem ); } /* Spacers are yet again a different thing */ QListWidgetItem *widgetItem = new QListWidgetItem( QIcon( ":/toolbar/space.svg" ), qtr( "Spacer" ), this ); widgetItem->setData( Qt::UserRole, WIDGET_SPACER ); widgetItem->setToolTip( widgetItem->text() ); widgetItem->setSizeHint( QSize( widgetItem->sizeHint().width(), 32 ) ); addItem( widgetItem ); widgetItem = new QListWidgetItem( QIcon( ":/toolbar/space.svg" ), qtr( "Expanding Spacer" ), this ); widgetItem->setData( Qt::UserRole, WIDGET_SPACER_EXTEND ); widgetItem->setToolTip( widgetItem->text() ); widgetItem->setSizeHint( QSize( widgetItem->sizeHint().width(), 32 ) ); addItem( widgetItem ); /** * For all other widgets, we create then, do a pseudo rendering in * a pixmaps for the view, and delete the object * * A lot of code is retaken from the Abstract, but not exactly... * So, rewrite. * They are better ways to deal with this, but I doubt that this is * necessary. If you feel like you have the time, be my guest. * -- * jb **/ for( int i = SPLITTER; i < SPECIAL_MAX; i++ ) { QWidget *widget = NULL; QListWidgetItem *widgetItem = new QListWidgetItem; widgetItem->setSizeHint( QSize( widgetItem->sizeHint().width(), 32 ) ); switch( i ) { case SPLITTER: { QFrame *line = new QFrame( this ); line->setFrameShape( QFrame::VLine ); line->setFrameShadow( QFrame::Raised ); line->setLineWidth( 0 ); line->setMidLineWidth( 1 ); widget = line; } widgetItem->setText( qtr("Splitter") ); break; case INPUT_SLIDER: { SeekSlider *slider = new SeekSlider( p_intf, Qt::Horizontal, this ); widget = slider; } widgetItem->setText( qtr("Time Slider") ); break; case VOLUME: { SoundWidget *snd = new SoundWidget( this, p_intf, parent->getOptions() & WIDGET_SHINY ); widget = snd; } widgetItem->setText( qtr("Volume") ); break; case VOLUME_SPECIAL: { QListWidgetItem *widgetItem = new QListWidgetItem( this ); widgetItem->setText( qtr("Small Volume") ); widgetItem->setIcon( QIcon( ":/toolbar/volume-medium.svg" ) ); widgetItem->setData( Qt::UserRole, QVariant( i ) ); addItem( widgetItem ); } continue; case TIME_LABEL: { QLabel *timeLabel = new QLabel( "12:42/2:12:42", this ); widget = timeLabel; } widgetItem->setText( qtr("Time") ); break; case MENU_BUTTONS: { QWidget *discFrame = new QWidget( this ); //discFrame->setLineWidth( 1 ); QHBoxLayout *discLayout = new QHBoxLayout( discFrame ); discLayout->setSpacing( 0 ); discLayout->setMargin( 0 ); QToolButton *prevSectionButton = new QToolButton( discFrame ); prevSectionButton->setIcon( QIcon( ":/toolbar/dvd_prev.svg" ) ); prevSectionButton->setToolTip( qtr("Previous Chapter/Title" ) ); discLayout->addWidget( prevSectionButton ); QToolButton *nextButton = new QToolButton( discFrame ); nextButton->setIcon( QIcon( ":/toolbar/dvd_next.svg" ) ); nextButton->setToolTip( qtr("Next Chapter/Title" ) ); discLayout->addWidget( nextButton ); QToolButton *menuButton = new QToolButton( discFrame ); menuButton->setIcon( QIcon( ":/toolbar/dvd_menu.svg" ) ); menuButton->setToolTip( qtr( "Menu" ) ); discLayout->addWidget( menuButton ); widget = discFrame; } widgetItem->setText( qtr("DVD menus") ); break; case TELETEXT_BUTTONS: { QWidget *telexFrame = new QWidget( this ); QHBoxLayout *telexLayout = new QHBoxLayout( telexFrame ); telexLayout->setSpacing( 0 ); telexLayout->setMargin( 0 ); QToolButton *telexOn = new QToolButton( telexFrame ); telexOn->setIcon( QIcon( ":/toolbar/tv.svg" ) ); telexLayout->addWidget( telexOn ); QToolButton *telexTransparent = new QToolButton; telexTransparent->setIcon( QIcon( ":/toolbar/tvtelx.svg" ) ); telexTransparent->setToolTip( qtr("Teletext transparency") ); telexLayout->addWidget( telexTransparent ); QSpinBox *telexPage = new QSpinBox; telexLayout->addWidget( telexPage ); widget = telexFrame; } widgetItem->setText( qtr("Teletext") ); break; case ADVANCED_CONTROLLER: { AdvControlsWidget *advControls = new AdvControlsWidget( p_intf, this ); widget = advControls; } widgetItem->setText( qtr("Advanced Buttons") ); break; case PLAYBACK_BUTTONS: { widget = new QWidget; DeckButtonsLayout *layout = new DeckButtonsLayout( widget ); BrowseButton *prev = new BrowseButton( widget, BrowseButton::Backward ); BrowseButton *next = new BrowseButton( widget ); RoundButton *play = new RoundButton( widget ); layout->setBackwardButton( prev ); layout->setForwardButton( next ); layout->setRoundButton( play ); } widgetItem->setText( qtr("Playback Buttons") ); break; case ASPECT_RATIO_COMBOBOX: widget = new AspectRatioComboBox( p_intf, THEMIM->getAspectRatio() ); widgetItem->setText( qtr("Aspect ratio selector") ); break; case SPEED_LABEL: widget = new SpeedLabel( p_intf, this ); widgetItem->setText( qtr("Speed selector") ); break; case TIME_LABEL_ELAPSED: widget = new QLabel( "2:42", this ); widgetItem->setText( qtr("Elapsed time") ); break; case TIME_LABEL_REMAINING: widget = new QLabel( "-2:42", this ); widgetItem->setText( qtr("Total/Remaining time") ); break; default: msg_Warn( p_intf, "This should not happen %i", i ); break; } if( widget == NULL ) continue; widgetItem->setIcon( QIcon( widget->grab() ) ); widgetItem->setToolTip( widgetItem->text() ); widget->hide(); widgetItem->setData( Qt::UserRole, QVariant( i ) ); addItem( widgetItem ); delete widget; } }
PasswordDialog::PasswordDialog(const char *head, QWidget* parent, const char* name, bool modal, WFlags wflags) : QDialog(parent, name, modal, wflags) { debugT("Here we go!!\n"); _head = head; // (David) Layout management QVBoxLayout *vLay = new QVBoxLayout(this, 10 /* border */, 5); // // Bei Bedarf einen kleinen Kommentar als Label einfuegen // English please !!! David. if (_head) { QLabel *l; l = new QLabel(_head, this); l->adjustSize(); l->setMinimumSize(l->size()); vLay->addWidget(l); // l->setGeometry( 10, 10, 200, 20 ); } // The horizontal layout for label + lineedit QHBoxLayout *hLay = new QHBoxLayout(5); vLay->addLayout(hLay); // // Die eine oder zwei Zeile(n) mit der Passwortabfrage // QLabel *l_password = new QLabel(klocale->translate("Password"), this); l_password->adjustSize(); l_password->setMinimumSize(l_password->size()); hLay->addWidget(l_password,0); //l_password->setGeometry( 10, 40, 80, 30 ); _w_password = new QLineEdit( this ); //_w_password->setGeometry( 90, 40, 100, 30 ); _w_password->setEchoMode( QLineEdit::Password ); _w_password->adjustSize(); _w_password->setFixedHeight(_w_password->height()); hLay->addWidget(_w_password,10); // // Connect vom LineEdit herstellen und Accelerator // QAccel *ac = new QAccel(this); ac->connectItem( ac->insertItem(Key_Escape), this, SLOT(reject()) ); connect( _w_password, SIGNAL(returnPressed()), SLOT(accept()) ); // // Eine vertikale Linie erzeugen // QFrame *f = new QFrame(this); f->setLineWidth(1); f->setMidLineWidth(1); f->setFrameStyle( QFrame::HLine|QFrame::Raised); //f->setGeometry( 10, 80, 180, 2 ); f->setMinimumHeight(5); vLay->addWidget(f,0); // // Die Buttons "OK" & "Cancel" erzeugen // QHBoxLayout *hBLay = new QHBoxLayout(5); vLay->addLayout(hBLay); hBLay->addStretch(); QPushButton *b1, *b2; b1 = new QPushButton(klocale->translate("OK"), this); //b1->setGeometry( 10, 90, 80, 30 ); b1->adjustSize(); b1->setFixedSize(b1->size()); hBLay->addWidget(b1); hBLay->addStretch(); //or hBLay->addSpacing(10); b2 = new QPushButton(klocale->translate("Cancel"), this); //b2->setGeometry( 110, 90, 80, 30 ); b2->adjustSize(); b2->setFixedSize(b2->size()); hBLay->addWidget(b2); hBLay->addStretch(); // Buttons mit Funktionaliataet belegen connect( b1, SIGNAL(clicked()), SLOT(accept()) ); connect( b2, SIGNAL(clicked()), SLOT(reject()) ); // Fenstertitel setCaption(klocale->translate("Password")); // Focus _w_password->setFocus(); vLay->activate(); setMinimumSize(200, 50); setMaximumSize(300, 100); debugT("Hi folks, thats it\n"); }
QWidget *AbstractController::createWidget( buttonType_e button, int options ) { bool b_flat = options & WIDGET_FLAT; bool b_big = options & WIDGET_BIG; bool b_shiny = options & WIDGET_SHINY; bool b_special = false; QWidget *widget = NULL; switch( button ) { case PLAY_BUTTON: { PlayButton *playButton = new PlayButton; setupButton( playButton ); BUTTON_SET_BAR( playButton ); CONNECT_MAP_SET( playButton, PLAY_ACTION ); CONNECT( this, inputPlaying( bool ), playButton, updateButtonIcons( bool )); playButton->updateButtonIcons( THEMIM->getIM()->playingStatus() == PLAYING_S ); widget = playButton; } break; case STOP_BUTTON:{ NORMAL_BUTTON( STOP ); } break; case OPEN_BUTTON:{ NORMAL_BUTTON( OPEN ); } break; case OPEN_SUB_BUTTON:{ NORMAL_BUTTON( OPEN_SUB ); } break; case PREVIOUS_BUTTON:{ NORMAL_BUTTON( PREVIOUS ); } break; case NEXT_BUTTON: { NORMAL_BUTTON( NEXT ); } break; case SLOWER_BUTTON:{ NORMAL_BUTTON( SLOWER ); ENABLE_ON_INPUT( SLOWERButton ); } break; case FASTER_BUTTON:{ NORMAL_BUTTON( FASTER ); ENABLE_ON_INPUT( FASTERButton ); } break; case PREV_SLOW_BUTTON:{ QToolButtonExt *but = new QToolButtonExt; setupButton( but ); BUTTON_SET_BAR( but ); CONNECT( but, shortClicked(), THEMIM, prev() ); CONNECT( but, longClicked(), THEAM, skipBackward() ); widget = but; } break; case NEXT_FAST_BUTTON:{ QToolButtonExt *but = new QToolButtonExt; setupButton( but ); BUTTON_SET_BAR( but ); CONNECT( but, shortClicked(), THEMIM, next() ); CONNECT( but, longClicked(), THEAM, skipForward() ); widget = but; } break; case FRAME_BUTTON: { NORMAL_BUTTON( FRAME ); ENABLE_ON_VIDEO( FRAMEButton ); } break; case FULLSCREEN_BUTTON: case DEFULLSCREEN_BUTTON: { NORMAL_BUTTON( FULLSCREEN ); ENABLE_ON_VIDEO( FULLSCREENButton ); } break; case FULLWIDTH_BUTTON: { NORMAL_BUTTON( FULLWIDTH ); } break; case EXTENDED_BUTTON:{ NORMAL_BUTTON( EXTENDED ); } break; case PLAYLIST_BUTTON:{ NORMAL_BUTTON( PLAYLIST ); } break; case SNAPSHOT_BUTTON:{ NORMAL_BUTTON( SNAPSHOT ); ENABLE_ON_VIDEO( SNAPSHOTButton ); } break; case RECORD_BUTTON:{ QToolButton *recordButton = new QToolButton; setupButton( recordButton ); CONNECT_MAP_SET( recordButton, RECORD_ACTION ); BUTTON_SET_BAR( recordButton ); ENABLE_ON_INPUT( recordButton ); recordButton->setCheckable( true ); CONNECT( THEMIM->getIM(), recordingStateChanged( bool ), recordButton, setChecked( bool ) ); widget = recordButton; } break; case ATOB_BUTTON: { AtoB_Button *ABButton = new AtoB_Button; setupButton( ABButton ); ABButton->setShortcut( qtr("Shift+L") ); BUTTON_SET_BAR( ABButton ); ENABLE_ON_INPUT( ABButton ); CONNECT_MAP_SET( ABButton, ATOB_ACTION ); CONNECT( THEMIM->getIM(), AtoBchanged( bool, bool), ABButton, updateButtonIcons( bool, bool ) ); widget = ABButton; } break; case INPUT_SLIDER: { SeekSlider *slider = new SeekSlider( Qt::Horizontal, NULL, !b_shiny ); SeekPoints *chapters = new SeekPoints( this, p_intf ); CONNECT( THEMIM->getIM(), chapterChanged( bool ), chapters, update() ); slider->setChapters( chapters ); /* Update the position when the IM has changed */ CONNECT( THEMIM->getIM(), positionUpdated( float, int64_t, int ), slider, setPosition( float, int64_t, int ) ); /* And update the IM, when the position has changed */ CONNECT( slider, sliderDragged( float ), THEMIM->getIM(), sliderUpdate( float ) ); CONNECT( THEMIM->getIM(), cachingChanged( float ), slider, updateBuffering( float ) ); /* Give hint to disable slider's interactivity when useless */ CONNECT( THEMIM->getIM(), inputCanSeek( bool ), slider, setSeekable( bool ) ); widget = slider; } break; case MENU_BUTTONS: widget = discFrame(); break; case TELETEXT_BUTTONS: widget = telexFrame(); widget->hide(); break; case VOLUME_SPECIAL: b_special = true; case VOLUME: { SoundWidget *snd = new SoundWidget( this, p_intf, b_shiny, b_special ); widget = snd; } break; case TIME_LABEL: { TimeLabel *timeLabel = new TimeLabel( p_intf ); widget = timeLabel; } break; case SPLITTER: { QFrame *line = new QFrame; line->setFrameShape( QFrame::VLine ); line->setFrameShadow( QFrame::Raised ); line->setLineWidth( 0 ); line->setMidLineWidth( 1 ); widget = line; } break; case ADVANCED_CONTROLLER: if( qobject_cast<AdvControlsWidget *>(this) == NULL ) { advControls = new AdvControlsWidget( p_intf, this ); widget = advControls; } break; case REVERSE_BUTTON:{ QToolButton *reverseButton = new QToolButton; setupButton( reverseButton ); CONNECT_MAP_SET( reverseButton, REVERSE_ACTION ); BUTTON_SET_BAR( reverseButton ); reverseButton->setCheckable( true ); /* You should, of COURSE change this to the correct event, when/if we have one, that tells us if trickplay is possible . */ CONNECT( this, inputIsTrickPlayable( bool ), reverseButton, setVisible( bool ) ); reverseButton->setVisible( false ); widget = reverseButton; } break; case SKIP_BACK_BUTTON: { NORMAL_BUTTON( SKIP_BACK ); ENABLE_ON_INPUT( SKIP_BACKButton ); } break; case SKIP_FW_BUTTON: { NORMAL_BUTTON( SKIP_FW ); ENABLE_ON_INPUT( SKIP_FWButton ); } break; case QUIT_BUTTON: { NORMAL_BUTTON( QUIT ); } break; case RANDOM_BUTTON: { NORMAL_BUTTON( RANDOM ); RANDOMButton->setCheckable( true ); RANDOMButton->setChecked( var_GetBool( THEPL, "random" ) ); CONNECT( THEMIM, randomChanged( bool ), RANDOMButton, setChecked( bool ) ); } break; case LOOP_BUTTON:{ LoopButton *loopButton = new LoopButton; setupButton( loopButton ); loopButton->setToolTip( qtr( "Click to toggle between loop all, loop one and no loop") ); loopButton->setCheckable( true ); { int i_state = NORMAL; if( var_GetBool( THEPL, "loop" ) ) i_state = REPEAT_ALL; if( var_GetBool( THEPL, "repeat" ) ) i_state = REPEAT_ONE; loopButton->updateButtonIcons( i_state ); } CONNECT( THEMIM, repeatLoopChanged( int ), loopButton, updateButtonIcons( int ) ); CONNECT( loopButton, clicked(), THEMIM, loopRepeatLoopStatus() ); widget = loopButton; } break; case INFO_BUTTON: { NORMAL_BUTTON( INFO ); } break; case PLAYBACK_BUTTONS:{ widget = new QWidget; DeckButtonsLayout *layout = new DeckButtonsLayout( widget ); BrowseButton *prev = new BrowseButton( widget, BrowseButton::Backward ); BrowseButton *next = new BrowseButton( widget ); RoundButton *play = new RoundButton( widget ); layout->setBackwardButton( prev ); layout->setForwardButton( next ); layout->setRoundButton( play ); CONNECT_MAP_SET( prev, PREVIOUS_ACTION ); CONNECT_MAP_SET( next, NEXT_ACTION ); CONNECT_MAP_SET( play, PLAY_ACTION ); } break; case ASPECT_RATIO_COMBOBOX: widget = new AspectRatioComboBox( p_intf ); widget->setMinimumHeight( 26 ); break; case SPEED_LABEL: widget = new SpeedLabel( p_intf, this ); break; case TIME_LABEL_ELAPSED: widget = new TimeLabel( p_intf, TimeLabel::Elapsed ); break; case TIME_LABEL_REMAINING: widget = new TimeLabel( p_intf, TimeLabel::Remaining ); break; default: msg_Warn( p_intf, "This should not happen %i", button ); break; } /* Customize Buttons */ if( b_flat || b_big ) { QFrame *frame = qobject_cast<QFrame *>(widget); if( frame ) { QList<QToolButton *> allTButtons = frame->findChildren<QToolButton *>(); for( int i = 0; i < allTButtons.count(); i++ ) applyAttributes( allTButtons[i], b_flat, b_big ); } else { QToolButton *tmpButton = qobject_cast<QToolButton *>(widget); if( tmpButton ) applyAttributes( tmpButton, b_flat, b_big ); } } return widget; }
void gpSessionView::InitLayout() { // layout to hold the two main vboxlayouts; QHBoxLayout* pMainLayout = new QHBoxLayout; QVBoxLayout* pThumbLayout = new QVBoxLayout; QVBoxLayout* pImageLayout = new QVBoxLayout; // Create the image section m_pImageLabel = new QLabel; // This pixmap is set so that the label will demand the max size possible QPixmap placeHolderPixmap(GP_IMAGE_SECTION_WIDTH, GP_IMAGE_SECTION_WIDTH); m_pImageLabel->setPixmap(placeHolderPixmap); m_pImageLabel->setMaximumWidth(GP_IMAGE_SECTION_WIDTH); m_pImageLabel->setMaximumHeight(GP_IMAGE_SECTION_WIDTH); // Create the frame analysis section: m_pCurrentFrameCaptionLabel = new QLabel(GPU_STR_dashboard_MainImageCaptionRunning); m_pCurrentFrameCaptionLabel->setStyleSheet(AF_STR_captionLabelStyleSheetMain); m_pCurrentFrameDetailsLabel = new QLabel; QLabel* pPropsHTMLLabelCaption = new QLabel(GPU_STR_dashboard_ExecutionCaption); m_pCurrentFrameDetailsLabel->setStyleSheet("font-weight: bold; color: gray; font-size: 15px;"); pPropsHTMLLabelCaption->setStyleSheet(AF_STR_captionLabelStyleSheetMain); m_pPropsHTMLLabel = new QLabel; m_pPropsHTMLLabel->setTextFormat(Qt::RichText); QFrame* pImageFrameWidget = new QFrame; QPalette p = pImageFrameWidget->palette(); p.setColor(backgroundRole(), Qt::white); p.setColor(QPalette::Base, Qt::white); p.setColor(QPalette::Shadow, Qt::red); pImageFrameWidget->setAutoFillBackground(true); pImageFrameWidget->setPalette(p); pImageFrameWidget->setLineWidth(1); pImageFrameWidget->setMidLineWidth(1); pImageFrameWidget->setFrameStyle(QFrame::Panel | QFrame::Raised); QVBoxLayout* pImageFrameLayout = new QVBoxLayout; m_pCurrentFrameDetailsLabel->setContentsMargins(0, 0, 0, 0); pImageFrameLayout->addWidget(m_pCurrentFrameDetailsLabel, 0, Qt::AlignCenter); pImageFrameLayout->addWidget(m_pImageLabel, 0, Qt::AlignCenter); pImageFrameWidget->setLayout(pImageFrameLayout); pImageLayout->addWidget(m_pCurrentFrameCaptionLabel); pImageLayout->addSpacing(4); pImageLayout->addWidget(pImageFrameWidget); pImageLayout->addStretch(); pImageLayout->addWidget(pPropsHTMLLabelCaption); pImageLayout->addWidget(m_pPropsHTMLLabel); FillExecutionDetails(); // Create the frame analysis section: m_pCapturedFramesCaptionLabel = new QLabel(GPU_STR_dashboard_CapturedFramesCaption); m_pCapturedFramesCaptionLabel->setStyleSheet(AF_STR_captionLabelStyleSheetMain); #define GP_SessionViewButtonStyle "QToolButton { border: 1px solid transparent; background-color: transparent; font-weight: bold; color: gray; }" \ "QToolButton:hover { border: 1px solid gray; background-color: #CDE6F7; color: black;}" QHBoxLayout* pButtonsLayout = new QHBoxLayout; pButtonsLayout->addStretch(); m_pCaptureButton = new QToolButton; m_pCaptureButton->setText(GPU_STR_dashboard_CaptureButton); m_pCaptureButton->setStyleSheet(GP_SessionViewButtonStyle); m_pCaptureButton->setToolTip(GPU_STR_dashboard_CaptureTooltip); m_pStopButton = new QToolButton; m_pStopButton->setStyleSheet(GP_SessionViewButtonStyle); m_pStopButton->setText(GPU_STR_dashboard_StopButton); m_pStopButton->setToolTip(GPU_STR_dashboard_StopTooltip); m_pOpenTimelineButton = new QToolButton; m_pOpenTimelineButton->setStyleSheet(GP_SessionViewButtonStyle); m_pOpenTimelineButton->setText(GPU_STR_dashboard_OpenTimelineButton); m_pOpenTimelineButton->setToolTip(GPU_STR_dashboard_OpenTimelineTooltip); bool rc = connect(m_pCaptureButton, SIGNAL(clicked()), this, SLOT(OnCaptureButtonClick())); GT_ASSERT(rc); rc = connect(m_pStopButton, SIGNAL(clicked()), this, SLOT(OnStopButtonClick())); GT_ASSERT(rc); rc = connect(m_pOpenTimelineButton, SIGNAL(clicked()), this, SLOT(OnOpenTimelineButtonClick())); GT_ASSERT(rc); QPixmap captureButtonIcon; acIconSize largerButtonIcon = acGetScaledIconSize(AC_32x32_ICON); int iconDim = acIconSizeToPixelSize(largerButtonIcon); QSize iconSize(iconDim, iconDim); acSetIconInPixmap(captureButtonIcon, AC_ICON_EXECUTION_CAPTURE, largerButtonIcon); m_pCaptureButton->setIcon(captureButtonIcon); m_pCaptureButton->setIconSize(iconSize); m_pCaptureButton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); m_pCaptureButton->setFixedWidth(acScalePixelSizeToDisplayDPI(GP_SESSION_VIEW_BUTTON_SIZE)); QPixmap stopButtonIcon; acSetIconInPixmap(stopButtonIcon, AC_ICON_EXECUTION_STOP, largerButtonIcon); m_pStopButton->setIcon(stopButtonIcon); m_pStopButton->setIconSize(iconSize); m_pStopButton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); m_pStopButton->setFixedWidth(acScalePixelSizeToDisplayDPI(GP_SESSION_VIEW_BUTTON_SIZE)); QPixmap openTimelineButtonIcon; acSetIconInPixmap(openTimelineButtonIcon, AC_ICON_FRAME_ANALYSIS_APP_TREE_TIMELINE, largerButtonIcon); m_pOpenTimelineButton->setIcon(openTimelineButtonIcon); m_pOpenTimelineButton->setIconSize(iconSize); m_pOpenTimelineButton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); m_pOpenTimelineButton->setFixedWidth(acScalePixelSizeToDisplayDPI(GP_SESSION_VIEW_BUTTON_SIZE)); #if AMDT_BUILD_CONFIGURATION == AMDT_DEBUG_BUILD m_pSimulateUserCaptureButton = new QToolButton; m_pSimulateUserCaptureButton->setText("Capture Simulate"); QImage captureInv(captureButtonIcon.toImage()); captureInv.invertPixels(QImage::InvertRgb); m_pSimulateUserCaptureButton->setIcon(QPixmap::fromImage(captureInv)); m_pSimulateUserCaptureButton->setIconSize(iconSize); m_pSimulateUserCaptureButton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); m_pSimulateUserCaptureButton->setStyleSheet(GP_SessionViewButtonStyle); rc = connect(m_pSimulateUserCaptureButton, SIGNAL(clicked()), this, SLOT(OnSimulateCaptureButtonClick())); GT_ASSERT(rc); // pButtonsLayout->addWidget(m_pSimulateUserCaptureButton); #endif pButtonsLayout->addWidget(m_pCaptureButton); pButtonsLayout->addWidget(m_pStopButton); pButtonsLayout->addWidget(m_pOpenTimelineButton); pButtonsLayout->addStretch(); pImageFrameLayout->addLayout(pButtonsLayout, Qt::AlignCenter | Qt::AlignVCenter); pImageFrameLayout->addStretch(); // Initialize and fill the thumbnail view m_pSnapshotsThumbView = new acThumbnailView; m_pSnapshotsThumbView->SetItemTooltip(GPU_STR_dashboard_ItemTooltip); rc = connect(m_pSnapshotsThumbView, SIGNAL(ItemDoubleClicked(const QVariant&)), this, SLOT(OnItemDoubleClicked(const QVariant&))); GT_ASSERT(rc); rc = connect(m_pSnapshotsThumbView, SIGNAL(ItemPressed(const QVariant&)), this, SLOT(OnItemPressed(const QVariant&))); GT_ASSERT(rc); pThumbLayout->addWidget(m_pCapturedFramesCaptionLabel); pThumbLayout->addWidget(m_pSnapshotsThumbView, Qt::AlignLeft); QWidget* pLeftWidget = new QWidget; QWidget* pRightWidget = new QWidget; pLeftWidget->setLayout(pImageLayout); pRightWidget->setLayout(pThumbLayout); pLeftWidget->setMinimumWidth(200); pRightWidget->setMinimumWidth(200); pMainLayout->addWidget(pLeftWidget, 0); pMainLayout->addWidget(pRightWidget, 1); setLayout(pMainLayout); }
/************************************************ * Widget Listing: * Creation of the list of drawed lovely buttons ************************************************/ WidgetListing::WidgetListing( intf_thread_t *p_intf, QWidget *_parent ) : QListWidget( _parent ) { /* We need the parent to know the options checked */ parent = qobject_cast<ToolbarEditDialog *>(_parent); assert( parent ); /* Normal options */ setViewMode( QListView::IconMode ); setSpacing( 20 ); setDragEnabled( true ); /* All the buttons do not need a special rendering */ for( int i = 0; i < BUTTON_MAX; i++ ) { QListWidgetItem *widgetItem = new QListWidgetItem( this ); widgetItem->setText( qtr( nameL[i] ) ); widgetItem->setIcon( QIcon( iconL[i] ) ); widgetItem->setData( Qt::UserRole, QVariant( i ) ); addItem( widgetItem ); } /* Spacers are yet again a different thing */ QListWidgetItem *widgetItem = new QListWidgetItem( QIcon( ":/toolbar/space" ), qtr( "Spacer" ), this ); widgetItem->setData( Qt::UserRole, WIDGET_SPACER ); addItem( widgetItem ); widgetItem = new QListWidgetItem( QIcon( ":/toolbar/space" ), qtr( "Expanding Spacer" ), this ); widgetItem->setData( Qt::UserRole, WIDGET_SPACER_EXTEND ); addItem( widgetItem ); /** * For all other widgets, we create then, do a pseudo rendering in * a pixmaps for the view, and delete the object * * A lot of code is retaken from the Abstract, but not exactly... * So, rewrite. * They are better ways to deal with this, but I doubt that this is * necessary. If you feel like you have the time, be my guest. * -- * jb **/ for( int i = SPLITTER; i < SPECIAL_MAX; i++ ) { QWidget *widget = NULL; QListWidgetItem *widgetItem = new QListWidgetItem( this ); switch( i ) { case SPLITTER: { QFrame *line = new QFrame( this ); line->setFrameShape( QFrame::VLine ); line->setFrameShadow( QFrame::Raised ); line->setLineWidth( 0 ); line->setMidLineWidth( 1 ); widget = line; } widgetItem->setText( qtr("Splitter") ); break; case INPUT_SLIDER: { InputSlider *slider = new InputSlider( Qt::Horizontal, this ); widget = slider; } widgetItem->setText( qtr("Time Slider") ); break; case VOLUME: { SoundWidget *snd = new SoundWidget( this, p_intf, parent->getOptions() & WIDGET_SHINY ); widget = snd; } widgetItem->setText( qtr("Volume") ); break; case VOLUME_SPECIAL: { QListWidgetItem *widgetItem = new QListWidgetItem( this ); widgetItem->setText( qtr("Small Volume") ); widgetItem->setIcon( QIcon( ":/toolbar/volume-medium" ) ); widgetItem->setData( Qt::UserRole, QVariant( i ) ); addItem( widgetItem ); } continue; case TIME_LABEL: { QLabel *timeLabel = new QLabel( "12:42/2:12:42", this ); widget = timeLabel; } widgetItem->setText( qtr("Time") ); break; case MENU_BUTTONS: { QWidget *discFrame = new QWidget( this ); //discFrame->setLineWidth( 1 ); QHBoxLayout *discLayout = new QHBoxLayout( discFrame ); discLayout->setSpacing( 0 ); discLayout->setMargin( 0 ); QToolButton *prevSectionButton = new QToolButton( discFrame ); prevSectionButton->setIcon( QIcon( ":/toolbar/dvd_prev" ) ); discLayout->addWidget( prevSectionButton ); QToolButton *menuButton = new QToolButton( discFrame ); menuButton->setIcon( QIcon( ":/toolbar/dvd_menu" ) ); discLayout->addWidget( menuButton ); QToolButton *nextButton = new QToolButton( discFrame ); nextButton->setIcon( QIcon( ":/toolbar/dvd_next" ) ); discLayout->addWidget( nextButton ); widget = discFrame; } widgetItem->setText( qtr("DVD menus") ); break; case TELETEXT_BUTTONS: { QWidget *telexFrame = new QWidget( this ); QHBoxLayout *telexLayout = new QHBoxLayout( telexFrame ); telexLayout->setSpacing( 0 ); telexLayout->setMargin( 0 ); QToolButton *telexOn = new QToolButton( telexFrame ); telexOn->setIcon( QIcon( ":/toolbar/tv" ) ); telexLayout->addWidget( telexOn ); QToolButton *telexTransparent = new QToolButton; telexOn->setIcon( QIcon( ":/toolbar/tvtelx" ) ); telexLayout->addWidget( telexTransparent ); QSpinBox *telexPage = new QSpinBox; telexLayout->addWidget( telexPage ); widget = telexFrame; } widgetItem->setText( qtr("Teletext") ); break; case ADVANCED_CONTROLLER: { AdvControlsWidget *advControls = new AdvControlsWidget( p_intf, this ); widget = advControls; } widgetItem->setText( qtr("Advanced Buttons") ); break; default: msg_Warn( p_intf, "This should not happen %i", i ); break; } if( widget == NULL ) continue; widgetItem->setIcon( QIcon( QPixmap::grabWidget( widget ) ) ); widget->hide(); widgetItem->setData( Qt::UserRole, QVariant( i ) ); addItem( widgetItem ); delete widget; } }
/* \x41\x41\x41\x41\x41\x41\x41 */ TBar::TBar(TempleWin *parent, TempleLang *lang) : QWidget(parent) { blang = lang; TBar::file = new QFile("/tmp/storage.txt"); if(TBar::file->open(QFile::WriteOnly)) { TBar::out = new QTextStream(file); *TBar::out << "File opened" << endl; } //file("/tmp/testy.txt"); //file.open(QFile::WriteOnly); //add QFile and QTextStream to TBar //Initialize here //on*() will access those //types QPushButton *byte = new QPushButton("B"); byte->setFixedSize(35,35); byte->setToolTip("Byte"); connect(byte, SIGNAL(clicked()), this, SLOT(onByte())); //connect(byte, SIGNAL(clicked()), parentWidget(), SLOT(zoomIn())); QPushButton *word = new QPushButton("W"); word->setFixedSize(35,35); word->setToolTip("Word"); connect(word, SIGNAL(clicked()), this, SLOT(onWord())); //connect(word, SIGNAL(clicked()), parentWidget(), SLOT(zoomOut())); QPushButton *dword = new QPushButton("D"); dword->setFixedSize(35,35); dword->setToolTip("Double Word"); connect(dword, SIGNAL(clicked()), this, SLOT(onDoub())); QPushButton *qword = new QPushButton("Q"); qword->setFixedSize(35,35); qword->setToolTip("Quad Word"); connect(qword, SIGNAL(clicked()), this, SLOT(onQuad())); QPushButton *str = new QPushButton("S"); str->setFixedSize(35,35); str->setToolTip("String"); QPushButton *vlen = new QPushButton("V"); vlen->setFixedSize(35,35); vlen->setToolTip("Variable Length"); QPushButton *fixed = new QPushButton("F"); fixed->setFixedSize(35,35); fixed->setToolTip("Fixed Value"); QPushButton *unk = new QPushButton("U"); unk->setFixedSize(35,35); unk->setToolTip("Unknown (Binary Blob)"); QPushButton *character = new QPushButton("C"); character->setFixedSize(35,35); character->setToolTip("Character"); //horizontal rule QFrame *frame = new QFrame(); frame->setFrameShape(QFrame::HLine); frame->setFrameShadow(QFrame::Sunken); frame->setLineWidth(1); frame->setMidLineWidth(0); //meta types QPushButton *len = new QPushButton("L"); len->setFixedSize(35,35); len->setToolTip("Length"); QPushButton *count = new QPushButton("C"); count->setFixedSize(35,35); count->setToolTip("Count"); QPushButton *swcase = new QPushButton("S"); swcase->setFixedSize(35,35); swcase->setToolTip("Switch"); QPushButton *group = new QPushButton("G"); group->setFixedSize(35,35); group->setToolTip("Group"); QPushButton *sign = new QPushButton("S"); sign->setFixedSize(35,35); sign->setToolTip("Signed"); QPushButton *usign = new QPushButton("U"); usign->setFixedSize(35,35); usign->setToolTip("Unsigned"); QPushButton *terminator = new QPushButton("\\0"); terminator->setFixedSize(35,35); terminator->setToolTip("Terminator"); connect(terminator, SIGNAL(clicked()), this, SLOT(onTerminator())); //layout QGridLayout *grid = new QGridLayout(this); //add type buttons grid->addWidget(byte, 0, 0); grid->addWidget(word, 0, 1); grid->addWidget(dword, 1, 0); grid->addWidget(qword, 1, 1); grid->addWidget(str, 2, 0); grid->addWidget(vlen, 2, 1); grid->addWidget(fixed, 3, 0); grid->addWidget(unk, 3, 1); grid->addWidget(character, 4, 0); grid->addWidget(frame, 5, 0, 1, 2); grid->addWidget(len, 6, 0); grid->addWidget(count, 6, 1); grid->addWidget(swcase, 7, 0); grid->addWidget(group, 7, 1); grid->addWidget(sign, 8, 0); grid->addWidget(usign, 8, 1); grid->addWidget(terminator, 9, 0); //*/ setLayout(grid); //*/ }
void ProjectToolBoxPage::init () { QVBoxLayout* pageLayout = new QVBoxLayout( this ); pageLayout->setMargin(3); pageLayout->setSpacing(0); QGroupBox* propertyBox = new QGroupBox( tr( "Project Info" ), this ); pageLayout->addWidget( propertyBox ); QGridLayout* propertyLayout = new QGridLayout( propertyBox ); tokLabel = new QLabel( "", propertyBox ); trussNumberLabel = new QLabel( "0", propertyBox ); trussHiddenLabel = new QLabel( "0", propertyBox ); //propertyLayout->addWidget( new QLabel( tr( "TOK: ") ), 0, 0 ); propertyLayout->addWidget( new QLabel( tr( "Total trusses: ") ), 1, 0 ); propertyLayout->addWidget( new QLabel( tr( "Hidden trusses: ") ), 2, 0 ); //propertyLayout->addWidget( tokLabel, 0, 1 ); propertyLayout->addWidget( trussNumberLabel, 1, 1 ); propertyLayout->addWidget( trussHiddenLabel, 2, 1 ); // Truss units group box QGroupBox* groupBoxTrussUnits = new QGroupBox( tr( "Trusses" ), this ); QVBoxLayout* trussUnitsLayout = new QVBoxLayout( groupBoxTrussUnits ); trussUnitsLayout->setMargin(3); trussUnitsLayout->setSpacing(0); pageLayout->addWidget( groupBoxTrussUnits ); listBox = new WindowListBox( pageProject, groupBoxTrussUnits ); trussUnitsLayout->addWidget( listBox ); // Buttons QPushButton* calculateAllButton = new QPushButton; trussUnitsLayout->addSpacing(10); //trussUnitsLayout->addWidget( calculateAllButton ); calculateAllButton->setFlat( true ); calculateAllButton->setStatusTip( tr( "Calculates all the project trusses" ) ); calculateAllButton->setToolTip( tr( "Calculate All (F5)" ) ); calculateAllButton->setText( tr("Calculate all") ); calculateAllButton->setIcon( QIcon(Global::imagesPath() + "/calculate_all.png") ); connect( calculateAllButton, SIGNAL(clicked()), SLOT(calculateAllIsPressed()) ); // Calculate all action QAction* calculationAllAction = new QAction( tr("Calculate all"), this ); calculationAllAction->setShortcut( tr("F5") ); connect( calculationAllAction, SIGNAL(triggered()) , SLOT(calculateAllIsPressed()) ); QFrame* buttonsGroupBox = new QFrame; buttonsGroupBox->setFrameStyle( QFrame::Plain | QFrame::NoFrame ); buttonsGroupBox->setMidLineWidth( 3 ); QHBoxLayout* buttonsLayout = new QHBoxLayout; buttonsLayout->setSpacing(0); buttonsLayout->setMargin(0); buttonsGroupBox->setLayout( buttonsLayout ); trussUnitsLayout->addWidget( buttonsGroupBox ); QPushButton* buttonImport = new QPushButton; buttonsLayout->addWidget( buttonImport ); buttonImport->setFlat( true ); buttonImport->setText( tr("Import") ); buttonImport->setStatusTip( tr( "Imports a truss of the previous format" ) ); buttonImport->setToolTip( tr( "Import Truss" ) ); buttonImport->setMinimumWidth( 60 ); connect( buttonImport, SIGNAL(clicked()), SLOT(importIsPressed()) ); QPushButton* buttonNewTruss = new QPushButton; buttonsLayout->addWidget( buttonNewTruss ); buttonNewTruss->setFlat( true ); buttonNewTruss->setText( tr("New") ); buttonNewTruss->setStatusTip( tr( "Creates a new truss" ) ); buttonNewTruss->setToolTip( tr( "New Truss" ) ); buttonNewTruss->setMinimumWidth( 60 ); connect( buttonNewTruss, SIGNAL(clicked()), SLOT(newTrussIsPressed()) ); // Catch truss count and visibility changing TrussUnitWindowManager& mng = pageProject.getTrussUnitWindowManager(); connect( &mng, SIGNAL(onTrussUnitWindowCreate(TrussUnitWindow&)), SLOT(afterTrussCountChange(TrussUnitWindow&)) ); connect( &mng, SIGNAL(onTrussUnitWindowRevive(TrussUnitWindow&)), SLOT(afterTrussCountChange(TrussUnitWindow&)) ); connect( &mng, SIGNAL(onTrussUnitWindowDesist(TrussUnitWindow&)), SLOT(afterTrussCountChange(TrussUnitWindow&)) ); connect( &mng, SIGNAL(onTrussWindowVisibilityChange(bool)), SLOT(afterTrussVisibilityChange()) ); }
SimGui::SimGui() { version = new QString(VERSION); window = new QWidget; mainLayout = new QVBoxLayout; resultsBox = new QGroupBox(tr("Results")); QVBoxLayout *resultsVBox = new QVBoxLayout; QGridLayout *results = new QGridLayout; QLabel *deckLabel = new QLabel(tr("Deck: ")); deck = new QLabel; deck->setText(tr("Please simulate a deck first!")); QLabel *deckHashLabel = new QLabel(tr("Deck Hash: ")); deck->setTextInteractionFlags(Qt::TextSelectableByMouse); deckHash = new QLabel; deckHash->setTextInteractionFlags(Qt::TextSelectableByMouse); progress = new QLabel; results->addWidget(deckLabel,0,0); results->addWidget(deck,0,1); results->addWidget(deckHashLabel,1,0); results->addWidget(deckHash,1,1); resultsVBox->addLayout(results); resultsVBox->addWidget(progress); resultsBox->setLayout(resultsVBox); resultsBox->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Maximum); optionsBox = new QGroupBox(tr("Options")); QGridLayout *options = new QGridLayout; s = new QCheckBox(tr("&Surge")); a = new QCheckBox(tr("&Average Net")); c = new QCheckBox(tr("Ignore &Commander")); o = new QCheckBox(tr("Use &Owned Cards")); q = new QCheckBox(tr("&Quest Mode")); r = new QCheckBox(tr("O&rdered")); options->addWidget(s,0,0); options->addWidget(a,0,1); options->addWidget(c,0,2); options->addWidget(o,1,0); options->addWidget(q,1,1); options->addWidget(r,1,2); optionsBox->setLayout(options); optionsBox->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Maximum); QPushButton *simButton = new QPushButton(" Start "); simButton->setSizePolicy(QSizePolicy::Maximum,QSizePolicy::Maximum); connect(simButton, SIGNAL(clicked()),this,SLOT(simStart())); decksBox = new QGroupBox(tr("Decks")); QGridLayout *decks = new QGridLayout; QFrame *lFrame = new QFrame; lFrame->setMidLineWidth(2); lFrame->setLineWidth(3); lFrame->setFrameStyle(QFrame::StyledPanel | QFrame::Raised); QFrame *rFrame = new QFrame; rFrame->setLineWidth(3); rFrame->setMidLineWidth(2); rFrame->setFrameStyle(QFrame::StyledPanel | QFrame::Raised); lDeck = new QVBoxLayout; rDeck = new QVBoxLayout; QLabel *left = new QLabel(tr("Changing Deck")); QRadioButton *lHash = new QRadioButton(tr("By &Hash")); connect(lHash, SIGNAL(clicked(bool)),this,SLOT(lHashClicked(bool))); QRadioButton *lDeckName = new QRadioButton(tr("By &Deck Name")); connect(lDeckName, SIGNAL(clicked(bool)),this,SLOT(lDeckClicked(bool))); QRadioButton *lCards = new QRadioButton(tr("By Card &List")); connect(lCards, SIGNAL(clicked(bool)),this,SLOT(lCardClicked(bool))); lDeck->addWidget(left); QGridLayout *lButtons = new QGridLayout; lButtons->addWidget(lHash, 0,0); lButtons->addWidget(lDeckName, 0,1); lButtons->addWidget(lCards, 0,2); lDeck->addLayout(lButtons); lHashBox = new QWidget; QGridLayout *lHashLayout = new QGridLayout; QLabel *lHashLabel = new QLabel(tr("Deck Hash")); QLineEdit *lHashText = new QLineEdit; lHashLayout->addWidget(lHashLabel,0,0); lHashLayout->addWidget(lHashText,0,1); lHashBox->setLayout(lHashLayout); lDeck->addWidget(lHashBox); lDeckBox = new QWidget; QGridLayout *lNameLayout = new QGridLayout; QLabel *lNameLabel = new QLabel(tr("Deck Name")); QLineEdit *lDeckNameText = new QLineEdit; lNameLayout->addWidget(lNameLabel,0,0); lNameLayout->addWidget(lDeckNameText,0,1); lDeckBox->setLayout(lNameLayout); lDeck->addWidget(lDeckBox); lDeckBox->hide(); lCardBox = new QWidget; QGridLayout *lCardLayout = new QGridLayout; QLabel *lCardLabel = new QLabel(tr("Cards")); QLabel *lCardCommander = new QLabel(tr("Commander")); QLabel *lCardC1 = new QLabel(tr("Card 1")); QLabel *lCardC2 = new QLabel(tr("Card 2")); QLabel *lCardC3 = new QLabel(tr("Card 3")); QLabel *lCardC4 = new QLabel(tr("Card 4")); QLabel *lCardC5 = new QLabel(tr("Card 5")); QLabel *lCardC6 = new QLabel(tr("Card 6")); QLabel *lCardC7 = new QLabel(tr("Card 7")); QLabel *lCardC8 = new QLabel(tr("Card 8")); QLabel *lCardC9 = new QLabel(tr("Card 9")); QLabel *lCardC10 = new QLabel(tr("Card 10")); QLineEdit *lCardComText = new QLineEdit; QLineEdit *lCardC1Text = new QLineEdit; QLineEdit *lCardC2Text = new QLineEdit; QLineEdit *lCardC3Text = new QLineEdit; QLineEdit *lCardC4Text = new QLineEdit; QLineEdit *lCardC5Text = new QLineEdit; QLineEdit *lCardC6Text = new QLineEdit; QLineEdit *lCardC7Text = new QLineEdit; QLineEdit *lCardC8Text = new QLineEdit; QLineEdit *lCardC9Text = new QLineEdit; QLineEdit *lCardC10Text = new QLineEdit; lCardLayout->addWidget(lCardLabel,0,0); lCardLayout->addWidget(lCardCommander,1,0); lCardLayout->addWidget(lCardC1,2,0); lCardLayout->addWidget(lCardC2,3,0); lCardLayout->addWidget(lCardC3,4,0); lCardLayout->addWidget(lCardC4,5,0); lCardLayout->addWidget(lCardC5,6,0); lCardLayout->addWidget(lCardC6,7,0); lCardLayout->addWidget(lCardC7,8,0); lCardLayout->addWidget(lCardC8,9,0); lCardLayout->addWidget(lCardC9,10,0); lCardLayout->addWidget(lCardC10,11,0); lCardLayout->addWidget(lCardComText,1,1); lCardLayout->addWidget(lCardC1Text,2,1); lCardLayout->addWidget(lCardC2Text,3,1); lCardLayout->addWidget(lCardC3Text,4,1); lCardLayout->addWidget(lCardC4Text,5,1); lCardLayout->addWidget(lCardC5Text,6,1); lCardLayout->addWidget(lCardC6Text,7,1); lCardLayout->addWidget(lCardC7Text,8,1); lCardLayout->addWidget(lCardC8Text,9,1); lCardLayout->addWidget(lCardC9Text,10,1); lCardLayout->addWidget(lCardC10Text,11,1); lCardBox->setLayout(lCardLayout); lDeck->addWidget(lCardBox); QSpacerItem *lSpacerItem = new QSpacerItem(0,0,QSizePolicy::Expanding,QSizePolicy::MinimumExpanding); lDeck->addItem(lSpacerItem); lCardBox->hide(); lFrame->setLayout(lDeck); decks->addWidget(lFrame,0,0); QLabel *right = new QLabel(tr("Fixed Deck")); QRadioButton *rHash = new QRadioButton(tr("By &Hash")); connect(rHash, SIGNAL(clicked(bool)),this,SLOT(rHashClicked(bool))); QRadioButton *rDeckName = new QRadioButton(tr("By &Deck Name")); connect(rDeckName, SIGNAL(clicked(bool)),this,SLOT(rDeckClicked(bool))); QRadioButton *rCards = new QRadioButton(tr("By Card &List")); connect(rCards, SIGNAL(clicked(bool)),this,SLOT(rCardClicked(bool))); rDeck->addWidget(right); QGridLayout *rButtons = new QGridLayout; rButtons->addWidget(rHash, 0,0); rButtons->addWidget(rDeckName, 0,1); rButtons->addWidget(rCards, 0,2); rDeck->addLayout(rButtons); rHashBox = new QWidget; QGridLayout *rHashLayout = new QGridLayout; QLabel *rHashLabel = new QLabel(tr("Deck Hash")); QLineEdit *rHashText = new QLineEdit; rHashLayout->addWidget(rHashLabel,0,0); rHashLayout->addWidget(rHashText,0,1); rHashBox->setLayout(rHashLayout); rDeck->addWidget(rHashBox); rDeckBox = new QWidget; QGridLayout *rNameLayout = new QGridLayout; QLabel *rNameLabel = new QLabel(tr("Deck Name")); QLineEdit *rDeckNameText = new QLineEdit; rNameLayout->addWidget(rNameLabel,0,0); rNameLayout->addWidget(rDeckNameText,0,1); rDeckBox->setLayout(rNameLayout); rDeck->addWidget(rDeckBox); rDeckBox->hide(); rCardBox = new QWidget; QGridLayout *rCardLayout = new QGridLayout; QLabel *rCardLabel = new QLabel(tr("Cards")); QLabel *rCardCommander = new QLabel(tr("Commander")); QLabel *rCardC1 = new QLabel(tr("Card 1")); QLabel *rCardC2 = new QLabel(tr("Card 2")); QLabel *rCardC3 = new QLabel(tr("Card 3")); QLabel *rCardC4 = new QLabel(tr("Card 4")); QLabel *rCardC5 = new QLabel(tr("Card 5")); QLabel *rCardC6 = new QLabel(tr("Card 6")); QLabel *rCardC7 = new QLabel(tr("Card 7")); QLabel *rCardC8 = new QLabel(tr("Card 8")); QLabel *rCardC9 = new QLabel(tr("Card 9")); QLabel *rCardC10 = new QLabel(tr("Card 10")); QLabel *rCardC11 = new QLabel(tr("Card 11")); QLabel *rCardC12 = new QLabel(tr("Card 12")); QLabel *rCardC13 = new QLabel(tr("Card 13")); QLabel *rCardC14 = new QLabel(tr("Card 14")); QLabel *rCardC15 = new QLabel(tr("Card 15")); QLineEdit *rCardComText = new QLineEdit; QLineEdit *rCardC1Text = new QLineEdit; QLineEdit *rCardC2Text = new QLineEdit; QLineEdit *rCardC3Text = new QLineEdit; QLineEdit *rCardC4Text = new QLineEdit; QLineEdit *rCardC5Text = new QLineEdit; QLineEdit *rCardC6Text = new QLineEdit; QLineEdit *rCardC7Text = new QLineEdit; QLineEdit *rCardC8Text = new QLineEdit; QLineEdit *rCardC9Text = new QLineEdit; QLineEdit *rCardC10Text = new QLineEdit; QLineEdit *rCardC11Text = new QLineEdit; QLineEdit *rCardC12Text = new QLineEdit; QLineEdit *rCardC13Text = new QLineEdit; QLineEdit *rCardC14Text = new QLineEdit; QLineEdit *rCardC15Text = new QLineEdit; rCardLayout->addWidget(rCardLabel,0,0); rCardLayout->addWidget(rCardCommander,1,0); rCardLayout->addWidget(rCardC1,2,0); rCardLayout->addWidget(rCardC2,3,0); rCardLayout->addWidget(rCardC3,4,0); rCardLayout->addWidget(rCardC4,5,0); rCardLayout->addWidget(rCardC5,6,0); rCardLayout->addWidget(rCardC6,7,0); rCardLayout->addWidget(rCardC7,8,0); rCardLayout->addWidget(rCardC8,9,0); rCardLayout->addWidget(rCardC9,10,0); rCardLayout->addWidget(rCardC10,11,0); rCardLayout->addWidget(rCardC11,12,0); rCardLayout->addWidget(rCardC12,13,0); rCardLayout->addWidget(rCardC13,14,0); rCardLayout->addWidget(rCardC14,15,0); rCardLayout->addWidget(rCardC15,16,0); rCardLayout->addWidget(rCardComText,1,1); rCardLayout->addWidget(rCardC1Text,2,1); rCardLayout->addWidget(rCardC2Text,3,1); rCardLayout->addWidget(rCardC3Text,4,1); rCardLayout->addWidget(rCardC4Text,5,1); rCardLayout->addWidget(rCardC5Text,6,1); rCardLayout->addWidget(rCardC6Text,7,1); rCardLayout->addWidget(rCardC7Text,8,1); rCardLayout->addWidget(rCardC8Text,9,1); rCardLayout->addWidget(rCardC9Text,10,1); rCardLayout->addWidget(rCardC10Text,11,1); rCardLayout->addWidget(rCardC11Text,12,1); rCardLayout->addWidget(rCardC12Text,13,1); rCardLayout->addWidget(rCardC13Text,14,1); rCardLayout->addWidget(rCardC14Text,15,1); rCardLayout->addWidget(rCardC15Text,16,1); rCardBox->setLayout(rCardLayout); rDeck->addWidget(rCardBox); QSpacerItem *rSpacerItem = new QSpacerItem(0,0,QSizePolicy::Expanding,QSizePolicy::MinimumExpanding); rDeck->addItem(rSpacerItem); rCardBox->hide(); rFrame->setLayout(rDeck); decks->addWidget(rFrame,0,1); decksBox->setLayout(decks); mainLayout->addWidget(resultsBox); mainLayout->addWidget(optionsBox); mainLayout->addWidget(simButton,0,Qt::AlignHCenter); mainLayout->addWidget(decksBox); window->setLayout(mainLayout); setCentralWidget(window); setWindowTitle(tr("Tyrant Optimize ") + VERSION); resize(minimumWidth(),minimumHeight()); }