82 : WDialog("Edit..."),
85 {
86 int modelRow =
item_.row();
87
88 resize(300, WLength::Auto);
89
90
91
92
93
94
95 auto nameEdit = std::make_unique<WLineEdit>(asString(
model_->data(modelRow, 1)));
97
98
99 auto typeEdit = std::make_unique<WComboBox>();
106
107
108 auto sizeEdit = std::make_unique<WLineEdit>(asString(
model_->data(modelRow, 3)));
111 (std::make_shared<WIntValidator>(0, std::numeric_limits<int>::max()));
112
113
114
115 auto createdPicker = std::make_unique<WDatePicker>();
120
121
122 auto modifiedPicker = std::make_unique<WDatePicker>();
127
128
129
130
131 auto layout = std::make_unique<WGridLayout>();
132
133 std::unique_ptr<WLabel> label;
134 int row = 0;
135
136 label = std::make_unique<WLabel>("Name:");
138 layout->addWidget(std::move(label), row, 0);
139 layout->addWidget(std::move(nameEdit), row, 1);
140 ++row;
141
142 label = std::make_unique<WLabel>("Type:");
144 layout->addWidget(std::move(label), row, 0);
145 layout->addWidget(std::move(typeEdit), row, 1);
146 ++row;
147
148 label = std::make_unique<WLabel>("Size");
150 layout->addWidget(std::move(label), row, 0);
151 layout->addWidget(std::move(sizeEdit), row, 1);
152 ++row;
153
154 label = std::make_unique<WLabel>("Created:");
156 layout->addWidget(std::move(label), row, 0);
157 layout->addWidget(std::move(createdPicker), row, 2);
158 ++row;
159
160 label = std::make_unique<WLabel>("Modified:");
162 layout->addWidget(std::move(label), row, 0);
163 layout->addWidget(std::move(modifiedPicker), row, 2);
164 ++row;
165
166 std::unique_ptr<WPushButton>button;
167 auto buttons = std::make_unique<WContainerWidget>();
168
169 button = std::make_unique<WPushButton>("Save");
170 button->clicked().connect(this, &WDialog::accept);
171 buttons->addWidget(std::move(button));
172
173 button = std::make_unique<WPushButton>("Cancel");
174 contents()->enterPressed().connect(this, &WDialog::accept);
175 button->clicked().connect(this, &WDialog::reject);
176 buttons->addWidget(std::move(button));
177
178
179
180
181 switch (item.column()) {
182 case 2:
184 case 3:
186 case 4:
188 break;
189 case 5:
191 break;
192 default:
194 }
195
196 layout->addWidget(std::move(buttons), row, 0, 0, 3, AlignmentFlag::Center);
197 layout->setColumnStretch(1, 1);
198
199 contents()->setLayout(std::move(layout));
200
202
203 show();
204 }
void handleFinish(DialogCode result)
std::shared_ptr< WAbstractItemModel > model_
WDatePicker * createdPicker_
WDatePicker * modifiedPicker_
static WString dateEditFormat
Date edit format.