60 DragItemLbl->setText(
"");
61 DragClassLbl->setText(
"");
62 DragKindLbl->setText(
"");
64 PrintLbl->setText(
"");
66 TabWidget->setCurrentIndex(2);
72 QObject::connect(EditorBtn, &QPushButton::clicked, [
this]() { fxDrawCanvas->activateEditor(); });
73 QObject::connect(StatusBtn, &QPushButton::clicked, [
this]() { fxDrawCanvas->activateStatusLine(); });
80 fxDrawCanvas->getCanvas()->Clear();
96 default: kndlabel =
"undefined";
break;
99 kndlabel = QString(
"Kind of draged item: ") + kndlabel +
100 " (" + QString::number(kind) +
")";
109 switch (TabWidget->currentIndex()) {
111 DragLbl->setText(QString(
"Go4 GUI asks if widget accept dragged item "));
112 DragItemLbl->setText(itemname);
113 DragClassLbl->setText(QString(
"Class: ") + (!cl ?
"not exists (known)" : cl->GetName()));
119 PrintLbl->setText(QString(
"Class: ") + (!cl ?
"not exists (known)" : cl->GetName()));
132 switch (TabWidget->currentIndex()) {
134 DragLbl->setText(
"User dropped item");
135 DragItemLbl->setText(itemname);
136 DragClassLbl->setText(!cl ?
"No class specified" : cl->GetName());
141 PrintLbl->setText(
"Can not drop item of unknown class");
143 PrintLbl->setText(QString(
"Print item: ") + itemname);
145 AddLink(itemname,
"PrintItem");
158 if (strcmp(linkname,
"PrintItem") == 0) {
160 }
else if (strcmp(linkname,
"DrawItem") == 0) {
161 fxDrawCanvas->getCanvas()->Clear();
162 fxDrawCanvas->getCanvas()->cd();
164 fxDrawCanvas->getCanvas()->Update();
170 if (strcmp(linkname,
"PrintItem") == 0) {
172 }
else if (strcmp(linkname,
"DrawItem") == 0) {
174 printf(
"Clear canvas and update\n");
175 fxDrawCanvas->getCanvas()->Clear();
176 fxDrawCanvas->getCanvas()->Update();
202 int saved_stdout = dup(STDOUT_FILENO);
204 if( pipe(out_pipe) != 0 )
return;
206 dup2(out_pipe[1], STDOUT_FILENO);
207 ::close(out_pipe[1]);
215 memset(sbuf,0,
sizeof(sbuf));
216 read(out_pipe[0], sbuf,
sizeof(sbuf)-1);
218 dup2(saved_stdout, STDOUT_FILENO);
219 ::close(out_pipe[0]);
221 PrintEdit->setText(sbuf);
223 PrintEdit->setText(
"<not supported (yet) under windows>");
229 if (!event->mimeData()->hasText())
return;
230 QString eventstr =
event->mimeData()->text();
231 event->acceptProposedAction();
240 printf(
"Call draw object %s %p\n", itemname, obj);
242 fxDrawCanvas->getCanvas()->Clear();
243 fxDrawCanvas->getCanvas()->cd();
245 fxDrawCanvas->getCanvas()->Update();
Q_DECL_EXPORT void * StartUserPanel(void *parent)
virtual void DrawObjectOnCanvas(const char *itemname)
virtual void InfoBtn_clicked()
bool IsAcceptDrag(const char *itemname, TClass *cl, int kind) override
virtual void DrawBtn_clicked()
void linkedObjectUpdated(const char *linkname, TObject *obj) override
virtual void PrintObject(TObject *obj)
QUserPanel(QWidget *parent=nullptr, const char *name=nullptr)
virtual void EditBtn_clicked()
virtual QString kindString(int kind)
virtual void CanvasDropEventSlot(QDropEvent *, TPad *)
void linkedObjectRemoved(const char *linkname) override
void DropItem(const char *itemname, TClass *cl, int kind) override
void CanvasDropEvent(QDropEvent *, TPad *)