32#include <QtDesigner/QDesignerExportWidget>
33#define GO4_QWIDGET_EXPORT QDESIGNER_WIDGET_EXPORT
35#define GO4_QWIDGET_EXPORT
97 QGo4Widget(QWidget *parent =
nullptr,
const char *name =
nullptr, Qt::WindowFlags f = Qt::Widget);
100 virtual bool IsAcceptDrag(
const char *itemname, TClass *cl,
int kind);
101 virtual void DropItem(
const char *itemname, TClass *cl,
int kind);
102 virtual void ResetWidget();
104 void ObjectCreatedByWidget(
const char *itemname, TClass *cl);
106 void ProcessSignal(
const char *linkname,
bool assigned, TObject *obj,
TGo4Slot *slot);
108 static QAction* AddIdAction(QMenu* menu, QSignalMapper* map,
109 const QString& text,
int id,
int enabled = -1,
int checked = -1);
111 static QAction* AddIdAction(QMenu* menu, QSignalMapper* map,
112 const QIcon& icon,
const QString& text,
int id,
int enabled = -1,
int checked = -1);
114 static QAction* CreateChkAction(QMenu* menu,
const QString& text,
bool checked,
bool enabled =
true);
116 static QAction* SetIdAction(QSignalMapper* map,
int id,
int enabled = -1,
int checked = -1);
131 void AddLink(
const char *itemname,
const char *linkname);
154 TObject *
GetLinked(
const char *linkname,
int updatelevel = 0);
157 T*
GetLinkedCast(
const char *linkname,
int updatelevel = 0) {
return dynamic_cast<T *
>(
GetLinked(linkname, updatelevel)); }
159 void RemoveLink(
const char *linkname,
bool blockreset =
true);
160 void RemoveAllLinks(
bool blockreset =
true);
161 void RemoveLinksMasked(
const char *startedwith =
nullptr,
bool blockreset =
true);
163 bool BrowserItemRemote(
const char *itemname);
166 void StatusMessage(
const QString& message);
172 void AskToCreateObject(TClass *cl,
int isremote);
173 void ShowItemInfo(
const QString& itemname);
175 TGo4ViewPanel *DrawItem(
const QString& itemname,
TGo4ViewPanel *panel =
nullptr, TPad *pad =
nullptr,
bool activate =
true,
int updatelevel = -1);
177 void HelpWindow(
const char *filename,
const char *msg =
nullptr);
178 void UndrawItem(
const char *itemname);
180 void EditItem(
const QString& itemname);
181 void EditObjectInSlot(
TGo4Slot *slot);
182 QString SaveObjectInMemory(
const char *foldername, TObject *obj);
183 bool SaveItemToFile(
const char *itemname,
const char *subfolder =
nullptr);
184 bool UpdateItemInAnalysis(
const char *itemname, TObject *obj =
nullptr);
185 void InformThatObjectCreated(
const char *itemname, TClass *cl);
187 void StartHotstart(
const char *filename);
190 void ConnectPad(TPad *pad);
192 void CallServiceFunc(
int id,
const char *str =
nullptr,
void *par =
nullptr);
193 void ServiceCall(
const char *name,
void *par =
nullptr);
195 virtual void requestedObjectCreated(
const char *itemname, TClass *cl);
196 virtual void linkedObjectUpdated(
const char *linkname, TObject *obj);
197 virtual void linkedObjectRemoved(
const char *linkname);
198 virtual void linkedUpdated(
TGo4Slot *slot, TObject *obj);
199 virtual void linkedRemoved(
TGo4Slot *slot, TObject *obj);
203 void CallPanelFunc(
int id, TPad *pad =
nullptr);
205 void ShootResetWidget();
206 void ShootCloseWidget(
bool closeparent =
false);
special base class for remote data servers like DABC, HTTP, hist server