60 DragItemLbl->setText(
"");
61 DragClassLbl->setText(
"");
62 DragKindLbl->setText(
"");
64 PrintLbl->setText(
"");
66 TabWidget->setCurrentIndex(2);
68 QObject::connect(InfoBtn, SIGNAL(clicked()),
this, SLOT(InfoBtn_clicked()));
69 QObject::connect(EditBtn, SIGNAL(clicked()),
this, SLOT(EditBtn_clicked()));
70 QObject::connect(DrawBtn, SIGNAL(clicked()),
this, SLOT(DrawBtn_clicked()));
72 QObject::connect(EditorBtn, SIGNAL(clicked()), fxDrawCanvas, SLOT(activateEditor()));
73 QObject::connect(StatusBtn, SIGNAL(clicked()), fxDrawCanvas, SLOT(activateStatusLine()));
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(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==0 ?
"not exists (known)" : cl->GetName()));
132 switch (TabWidget->currentIndex()) {
134 DragLbl->setText(
"User dropped item");
135 DragItemLbl->setText(itemname);
136 DragClassLbl->setText(cl==0 ?
"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)
161 if (strcmp(linkname,
"DrawItem")==0) {
162 fxDrawCanvas->getCanvas()->Clear();
163 fxDrawCanvas->getCanvas()->cd();
165 fxDrawCanvas->getCanvas()->Update();
171 if (strcmp(linkname,
"PrintItem")==0)
174 if (strcmp(linkname,
"DrawItem")==0) {
176 printf(
"Clear canvas and update\n");
177 fxDrawCanvas->getCanvas()->Clear();
178 fxDrawCanvas->getCanvas()->Update();
204 int saved_stdout = dup(STDOUT_FILENO);
206 if( pipe(out_pipe) != 0 )
return;
208 dup2(out_pipe[1], STDOUT_FILENO);
209 ::close(out_pipe[1]);
217 memset(sbuf,0,
sizeof(sbuf));
218 read(out_pipe[0], sbuf,
sizeof(sbuf)-1);
220 dup2(saved_stdout, STDOUT_FILENO);
221 ::close(out_pipe[0]);
223 PrintEdit->setText(sbuf);
225 PrintEdit->setText(
"<not supported (yet) under windows>");
232 if (!event->mimeData()->hasText())
return;
233 QString eventstr =
event->mimeData()->text();
234 event->acceptProposedAction();
243 printf(
"Call draw object %s %p\n", itemname, obj);
245 fxDrawCanvas->getCanvas()->Clear();
246 fxDrawCanvas->getCanvas()->cd();
248 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)