void setupUI() { p->setObjectName(QStringLiteral("FieldLineEdit")); hLayout = new QHBoxLayout(p); hLayout->setMargin(0); hLayout->setSpacing(2); m_pushButtonType = new QPushButton(p); appendWidget(m_pushButtonType); hLayout->setStretchFactor(m_pushButtonType, 0); m_pushButtonType->setObjectName(QStringLiteral("FieldLineEditButton")); if (isMultiLine) { m_multiLineEditText = new KTextEdit(p); appendWidget(m_multiLineEditText); connect(m_multiLineEditText, &KTextEdit::textChanged, p, &MenuLineEdit::slotTextChanged); m_multiLineEditText->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred); p->setFocusProxy(m_multiLineEditText); m_multiLineEditText->setAcceptRichText(false); } else { m_singleLineEditText = new KLineEdit(p); appendWidget(m_singleLineEditText); hLayout->setStretchFactor(m_singleLineEditText, 100); m_singleLineEditText->setClearButtonEnabled(true); m_singleLineEditText->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred); m_singleLineEditText->setCompletionMode(KCompletion::CompletionPopup); m_singleLineEditText->completionObject()->setIgnoreCase(true); p->setFocusProxy(m_singleLineEditText); connect(m_singleLineEditText, &KLineEdit::textEdited, p, &MenuLineEdit::textChanged); } p->setFocusPolicy(Qt::StrongFocus); // FIXME improve focus handling p->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred); }
myEditor(axFormat* aPlugin, axContext* aContext, axRect aRect, int aWinFlags) : axEditor(aPlugin,aContext,aRect,aWinFlags) { appendWidget( w_MainPanel = new wdgPanel(this,NULL_RECT,wa_Client) ); w_MainPanel->appendWidget( sb1 = new mySB(this,axRect( 100,100,200,200),wa_Left) ); //sb1->appendWidget( new myWidget(this,NULL_RECT,wa_Client) ); //sb2->appendWidget( new myWidget(this,NULL_RECT,wa_Client) ); wdgPanel* pan1; sb1->appendWidget( pan1 = new wdgPanel(this,axRect(0,300),wa_Top) ); for (int i=0; i<50; i++) { int x = axRandomInt(199); int y = axRandomInt(199); int w = axRandomInt(100); int h = axRandomInt(100); pan1->appendWidget( new wdgButton(this,axRect(x,y,w,h),wa_StackedHoriz,false,"off","on") ); } //sb1->appendWidget( b1 = new wdgButtons(this,axRect(0,200),wa_Top) ); doRealign(); }
Button *AbstractListBox::appendItem(const char *title, const sigc::slot<void, Button&>& callback) { Button *b = new Button(Curses::onscreen_width(title), 1, title); b->signal_activate.connect(callback); appendWidget(*b); return b; }
myEditor(axFormat* aPlugin, axContext* aContext, axRect aRect, int aWinFlags) : axEditor(aPlugin,aContext,aRect,aWinFlags) { appendWidget( panel = new wdgPanel(this,NULL_RECT,wa_Client)); panel->appendWidget( scroll = new wdgScrollBox(this,axRect(100,200,200,200),wa_None) ); scroll->appendWidget( buttons = new wdgButtons(this,axRect(0,0,150,400),wa_None) ); for (int i=0; i<20; i++) buttons->appendButton( new wdgButton(buttons,axRect(0,20),wa_Top,false,"off","on" ) ); doRealign(); }
void ColorListWidget::append_widget(int col) { ColorSelector* cbs = new ColorSelector; cbs->setDisplayMode(ColorPreview::AllAlpha); cbs->setColor(p->colors[col]); //connect(cbs,SIGNAL(colorChanged(QColor)),SLOT(emit_changed())); p->mapper.setMapping(cbs,col); connect(cbs,SIGNAL(colorChanged(QColor)),&p->mapper,SLOT(map())); connect(this,SIGNAL(wheelFlagsChanged(ColorWheel::Display_Flags)), cbs,SLOT(setWheelFlags(ColorWheel::Display_Flags))); appendWidget(cbs); setRowHeight(count()-1,22); }
void WidgetBox::getSelectedWidget() { int rows = _model->rowCount(); for(int i=0;i<rows;i++) { auto item = _model->item(i); if(item->checkState() == Qt::CheckState::Checked) { auto data = item->data(Qt::DisplayRole); emit appendWidget(data.toString()); item->setCheckState(Qt::Unchecked); } } close(); }
GPConfigDlg::GPConfigDlg(Camera* camera, CameraWidget* widget, QWidget* parent) : KDialog(parent), d(new GPConfigDlgPrivate) { d->widgetRoot = widget; d->camera = camera; setButtons(Ok | Cancel); setDefaultButton(Ok); setModal(true); QFrame* main = new QFrame(this); setMainWidget(main); QVBoxLayout* topLayout = new QVBoxLayout(main); topLayout->setSpacing(spacingHint()); topLayout->setMargin(0); appendWidget(main, widget); connect(this, SIGNAL(okClicked()), this, SLOT(slotOk())); }
HorizontalLine *ListBox::appendSeparator() { HorizontalLine *l = new HorizontalLine(AUTOSIZE); appendWidget(*l); return l; }
void GPConfigDlg::appendWidget(QWidget* parent, CameraWidget* widget) { QWidget* newParent = parent; CameraWidgetType widget_type; const char* widget_name; const char* widget_info; const char* widget_label; float widget_value_float; int widget_value_int; const char* widget_value_string; gp_widget_get_type(widget, &widget_type); gp_widget_get_label(widget, &widget_label); gp_widget_get_info(widget, &widget_info); gp_widget_get_name(widget, &widget_name); // gphoto2 doesn't seem to have any standard for i18n QString whats_this = QString::fromLocal8Bit(widget_info); // Add this widget to parent switch (widget_type) { case GP_WIDGET_WINDOW: { setCaption(widget_label); break; } case GP_WIDGET_SECTION: { if (!d->tabWidget) { d->tabWidget = new QTabWidget(parent); parent->layout()->addWidget(d->tabWidget); } QWidget* tab = new QWidget(d->tabWidget); // widgets are to be aligned vertically in the tab QVBoxLayout* tabLayout = new QVBoxLayout(tab, marginHint(), spacingHint()); d->tabWidget->insertTab(tab, widget_label); KVBox* tabContainer = new KVBox(tab); tabContainer->setSpacing(spacingHint()); tabLayout->addWidget(tabContainer); newParent = tabContainer; tabLayout->addStretch(); break; } case GP_WIDGET_TEXT: { gp_widget_get_value(widget, &widget_value_string); Q3Grid* grid = new Q3Grid(2, Qt::Horizontal, parent); parent->layout()->addWidget(grid); grid->setSpacing(spacingHint()); new QLabel(QString::fromLocal8Bit(widget_label) + ':', grid); QLineEdit* lineEdit = new QLineEdit(widget_value_string, grid); d->wmap.insert(widget, lineEdit); if (!whats_this.isEmpty()) { grid->setWhatsThis(whats_this); } break; } case GP_WIDGET_RANGE: { float widget_low; float widget_high; float widget_increment; gp_widget_get_range(widget, &widget_low, &widget_high, &widget_increment); gp_widget_get_value(widget, &widget_value_float); Q3GroupBox* groupBox = new Q3GroupBox(1, Qt::Horizontal, widget_label, parent); parent->layout()->addWidget(groupBox); QSlider* slider = new QSlider( (int)widget_low, (int)widget_high, (int)widget_increment, (int)widget_value_float, Qt::Horizontal, groupBox); d->wmap.insert(widget, slider); if (!whats_this.isEmpty()) { groupBox->setWhatsThis(whats_this); } break; } case GP_WIDGET_TOGGLE: { gp_widget_get_value(widget, &widget_value_int); QCheckBox* checkBox = new QCheckBox(widget_label, parent); parent->layout()->addWidget(checkBox); checkBox->setChecked(widget_value_int); d->wmap.insert(widget, checkBox); if (!whats_this.isEmpty()) { checkBox->setWhatsThis(whats_this); } break; } case GP_WIDGET_RADIO: { gp_widget_get_value(widget, &widget_value_string); int count = gp_widget_count_choices(widget); // for less than 5 options, align them horizontally Q3ButtonGroup* buttonGroup; if (count > 4) { buttonGroup = new Q3VButtonGroup(widget_label, parent); } else { buttonGroup = new Q3HButtonGroup(widget_label, parent); } parent->layout()->addWidget(buttonGroup); for (int i = 0; i < count; ++i) { const char* widget_choice; gp_widget_get_choice(widget, i, &widget_choice); new QRadioButton(widget_choice, buttonGroup); if (!strcmp(widget_value_string, widget_choice)) { buttonGroup->setButton(i); } } d->wmap.insert(widget, buttonGroup); if (!whats_this.isEmpty()) { buttonGroup->setWhatsThis(whats_this); } break; } case GP_WIDGET_MENU: { gp_widget_get_value(widget, &widget_value_string); QComboBox* comboBox = new KComboBox(parent); parent->layout()->addWidget(comboBox); comboBox->clear(); for (int i = 0; i < gp_widget_count_choices(widget); ++i) { const char* widget_choice; gp_widget_get_choice(widget, i, &widget_choice); comboBox->insertItem(widget_choice); if (!strcmp(widget_value_string, widget_choice)) { comboBox->setCurrentItem(i); } } d->wmap.insert(widget, comboBox); if (!whats_this.isEmpty()) { comboBox->setWhatsThis(whats_this); } break; } case GP_WIDGET_BUTTON: { // TODO // I can't see a way of implementing this. Since there is // no way of telling which button sent you a signal, we // can't map to the appropriate widget->callback QLabel* label = new QLabel(i18n("Button (not supported by KControl)"), parent); parent->layout()->addWidget(label); break; } case GP_WIDGET_DATE: { // TODO QLabel* label = new QLabel(i18n("Date (not supported by KControl)"), parent); parent->layout()->addWidget(label); break; } default: return; } // Append all this widgets children for (int i = 0; i < gp_widget_count_children(widget); ++i) { CameraWidget* widget_child; gp_widget_get_child(widget, i, &widget_child); appendWidget(newParent, widget_child); } // Things that must be done after all children were added /* switch (widget_type) { case GP_WIDGET_SECTION: { tabLayout->addItem( new QSpacerItem(0, 0, QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding) ); break; } } */ }