66 DragItemLbl->setText(
"");
67 DragClassLbl->setText(
"");
68 DragKindLbl->setText(
"");
70 PrintLbl->setText(
"");
72 QObject::connect(InfoBtn, SIGNAL(clicked()),
this, SLOT(
InfoBtn_clicked()));
73 QObject::connect(EditBtn, SIGNAL(clicked()),
this, SLOT(
EditBtn_clicked()));
74 QObject::connect(DrawBtn, SIGNAL(clicked()),
this, SLOT(
DrawBtn_clicked()));
75 QObject::connect(fxDrawCanvas, SIGNAL(CanvasDropEvent(QDropEvent*,TPad*)),
this, SLOT(
CanvasDropEventSlot(QDropEvent*,TPad*)));
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(
"Go4 GUI asks if widget accept dragged item");
112 DragItemLbl->setText(itemname);
113 DragClassLbl->setText(QString(
"Class: ") + (cl==0 ?
"not exists (known)" : cl->GetName()));
119 PrintLbl->setText(QString(
"Class: ") + (cl==0 ?
"not exists (known)" : cl->GetName()));
129 switch (TabWidget->currentIndex()) {
131 DragLbl->setText(
"User dropped item");
132 DragItemLbl->setText(itemname);
133 DragClassLbl->setText(cl==0 ?
"No class specified" : cl->GetName());
138 PrintLbl->setText(
"Can not drop item of unknown class");
140 PrintLbl->setText(QString(
"Print item: ") + itemname);
142 AddLink(itemname,
"PrintItem");
155 if (strcmp(linkname,
"PrintItem")==0)
158 if (strcmp(linkname,
"DrawItem")==0) {
159 fxDrawCanvas->getCanvas()->Clear();
160 fxDrawCanvas->getCanvas()->cd();
162 fxDrawCanvas->getCanvas()->Update();
168 if (strcmp(linkname,
"PrintItem")==0)
171 if (strcmp(linkname,
"DrawItem")==0) {
173 fxDrawCanvas->getCanvas()->Clear();
174 fxDrawCanvas->getCanvas()->Update();
200 int saved_stdout = dup(STDOUT_FILENO);
202 if( pipe(out_pipe) != 0 )
return;
204 dup2(out_pipe[1], STDOUT_FILENO);
205 ::close(out_pipe[1]);
213 memset(sbuf,0,
sizeof(sbuf));
214 read(out_pipe[0], sbuf,
sizeof(sbuf)-1);
216 dup2(saved_stdout, STDOUT_FILENO);
217 ::close(out_pipe[0]);
219 PrintEdit->setText(sbuf);
221 PrintEdit->setText(
"<not supported (yet) under windows>");
228 if (!event->mimeData()->hasText())
return;
229 QString eventstr =
event->mimeData()->text();
230 event->acceptProposedAction();
240 fxDrawCanvas->getCanvas()->Clear();
241 fxDrawCanvas->getCanvas()->cd();
243 fxDrawCanvas->getCanvas()->Update();
QUserPanel(QWidget *parent=0, const char *name=0)
virtual bool IsAcceptDrag(const char *itemname, TClass *cl, int kind)
virtual void EditBtn_clicked()
virtual void DrawObjectOnCanvas(const char *itemname)
virtual void linkedObjectRemoved(const char *linkname)
Q_DECL_EXPORT void * StartUserPanel(void *parent)
virtual void InfoBtn_clicked()
virtual void DropItem(const char *itemname, TClass *cl, int kind)
virtual void CanvasDropEventSlot(QDropEvent *, TPad *)
virtual void linkedObjectUpdated(const char *linkname, TObject *obj)
virtual void PrintObject(TObject *obj)
virtual void DrawBtn_clicked()
virtual QString kindString(int kind)