Commit 14bf624a authored by Yannick Verdie's avatar Yannick Verdie

QT new functions:

 - cvAddButton done
 - All the "actions" of the toolbar are working
 - Window properties done
parent 3a3745da
......@@ -78,6 +78,9 @@ CV_EXPORTS void saveWindowParameters(const string& windowName);
CV_EXPORTS void loadWindowParameters(const string& windowName);
CV_EXPORTS int startLoop(int (*pt2Func)(int argc, char *argv[]), int argc, char* argv[]);
CV_EXPORTS void stopLoop();
typedef void (CV_CDECL *ButtonCallback)(void* userdata);
CV_EXPORTS int createButton( const char* bar_name, const char* window_name, ButtonCallback on_change, const char* button_name CV_DEFAULT(NULL), void* userdata CV_DEFAULT(NULL));
//-------------------------
CV_EXPORTS void imshow( const string& winname, const Mat& mat );
......
......@@ -93,6 +93,9 @@ CVAPI(void) cvSaveWindowParameters(const char* name);
CVAPI(void) cvLoadWindowParameters(const char* name);
CVAPI(int) cvStartLoop(int (*pt2Func)(int argc, char *argv[]), int argc, char* argv[]);
CVAPI(void) cvStopLoop();
typedef void (CV_CDECL *CvButtonCallback)(void* userdata);
CVAPI(int) cvCreateButton( const char* bar_name, const char* window_name, CvButtonCallback on_change, const char* button_name CV_DEFAULT(NULL), void* userdata CV_DEFAULT(NULL));
//----------------------
......
......@@ -231,6 +231,11 @@ void loadWindowParameters(const string& windowName)
cvLoadWindowParameters(windowName.c_str());
}
int createButton( const string& bar_name, const string& window_name, ButtonCallback on_change, const string& button_name, void* userdata)
{
return cvCreateButton( bar_name.c_str(), window_name.c_str(), on_change, button_name.c_str(), userdata);
}
#endif
}
......@@ -265,12 +270,6 @@ CV_IMPL int cvNamedWindow( const char*, int )
return -1;
}
CV_IMPL void cvDisplayOverlay(const char* name, const char* text, int delayms)
{
CV_NO_GUI_ERROR("cvNamedWindow");
return -1;
}
CV_IMPL void cvDestroyWindow( const char* )
{
CV_NO_GUI_ERROR( "cvDestroyWindow" );
......@@ -364,6 +363,69 @@ CV_IMPL int cvStartWindowThread()
return -1;
}
//-------- Qt ---------
CV_IMPL void cvAddText( const CvArr*, const char*, CvPoint org, CvFont font)
{
CV_NO_GUI_ERROR("cvAddText");
return -1;
}
CV_IMPL void cvDisplayStatusBar(const char* name, const char* arg2, int arg3)
{
CV_NO_GUI_ERROR("cvDisplayStatusBar");
return -1;
}
CV_IMPL void cvDisplayStatusBar(const char* name, const char* arg2, int arg3)
{
CV_NO_GUI_ERROR("cvDisplayStatusBar");
return -1;
}
CV_IMPL void cvCreateOpenGLCallback(const char* name, cvOpenGLCallback callback, void* param)
{
CV_NO_GUI_ERROR("createOpenGLCallback");
return -1;
}
CV_IMPL void cvDisplayOverlay(const char* name, const char* text, int delayms)
{
CV_NO_GUI_ERROR("cvNamedWindow");
return -1;
}
CV_IMPL void cvStartLoop(int (*pt2Func)(int argc, char *argv[]), int argc, char* argv[])
{
CV_NO_GUI_ERROR("cvStartLoop");
return -1;
}
CV_IMPL void cvStopLoop()
{
CV_NO_GUI_ERROR("cvStopLoop");
return -1;
}
CV_IMPL void cvSaveWindowParameters(const char* name)
{
CV_NO_GUI_ERROR("cvSaveWindowParameters");
return -1;
}
CV_IMPL void cvLoadWindowParameterss(const char* name)
{
CV_NO_GUI_ERROR("cvLoadWindowParameters");
return -1;
}
CV_IMPL void cvCreateButton(const char* arg1, const char* arg2, cvButtonCallback on_change, const char* name, void* userdata)
{
CV_NO_GUI_ERROR("cvCreateButton");
return -1;
}
#endif
/* End of file. */
This diff is collapsed.
......@@ -96,6 +96,7 @@ enum { shortcut_zoom_normal = Qt::CTRL + Qt::Key_Z,
class CvWindow;
class ViewPort;
class GuiReceiver : public QObject
{
Q_OBJECT
......@@ -129,28 +130,60 @@ public slots:
void loadWindowParameters(QString name);
void setOpenGLCallback(QString window_name, void* callbackOpenGL, void* userdata);
void putText(void* arg1, QString text, QPoint org, void* font);
void addButton(QString window_name, QString bar_name, QString button_name, void* on_change, void* userdata);
};
enum typeBar{type_CvTrackbar = 0, type_CvButtonbar = 1};
class CvBar : public QHBoxLayout
{
public:
typeBar type;
QString name_bar;
QPointer<CvWindow> myparent;
};
/*
protected:
int width, height;
class CvButtonbar : public QButtonGroup
class CvButtonbar : public CvBar
{
Q_OBJECT
public:
CvButtonbar();
};*/
CvButtonbar(CvWindow* arg, QString bar_name);
~CvButtonbar();
void addButton( QString button_name, CvButtonCallback call, void* userdata);
class CvTrackbar : public QHBoxLayout
private:
void setLabel();
QPointer<QLabel> label;
};
class CvButton : public QPushButton
{
Q_OBJECT
public:
CvButton(CvButtonbar* par, QString button_name, CvButtonCallback call, void* userdata);
private:
CvButtonbar* myparent;
QString button_name ;
CvButtonCallback callback;
void* userdata;
private slots:
void callCallBack();
};
class CvTrackbar : public CvBar
{
Q_OBJECT
public:
CvTrackbar(CvWindow* parent, QString name, int* value, int count, CvTrackbarCallback on_change = NULL);
~CvTrackbar();
QString trackbar_name;
//QString trackbar_name;
QPointer<QSlider> slider;
private slots:
......@@ -159,11 +192,9 @@ private slots:
private:
void setLabel(int myvalue);
QString createLabel();
QPointer<QPushButton > label;
CvTrackbarCallback callback;
QPointer<CvWindow> parent;
int* dataSlider;
};
......@@ -198,6 +229,7 @@ public:
void setOpenGLCallback(CvOpenGLCallback arg1,void* userdata);
void hideTools();
void showTools();
CvButtonbar* createButtonbar(QString bar_name);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment