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); ...@@ -78,6 +78,9 @@ CV_EXPORTS void saveWindowParameters(const string& windowName);
CV_EXPORTS void loadWindowParameters(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 int startLoop(int (*pt2Func)(int argc, char *argv[]), int argc, char* argv[]);
CV_EXPORTS void stopLoop(); 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 ); CV_EXPORTS void imshow( const string& winname, const Mat& mat );
......
...@@ -93,6 +93,9 @@ CVAPI(void) cvSaveWindowParameters(const char* name); ...@@ -93,6 +93,9 @@ CVAPI(void) cvSaveWindowParameters(const char* name);
CVAPI(void) cvLoadWindowParameters(const char* name); CVAPI(void) cvLoadWindowParameters(const char* name);
CVAPI(int) cvStartLoop(int (*pt2Func)(int argc, char *argv[]), int argc, char* argv[]); CVAPI(int) cvStartLoop(int (*pt2Func)(int argc, char *argv[]), int argc, char* argv[]);
CVAPI(void) cvStopLoop(); 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) ...@@ -231,6 +231,11 @@ void loadWindowParameters(const string& windowName)
cvLoadWindowParameters(windowName.c_str()); 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 #endif
} }
...@@ -263,13 +268,7 @@ CV_IMPL int cvNamedWindow( const char*, int ) ...@@ -263,13 +268,7 @@ CV_IMPL int cvNamedWindow( const char*, int )
{ {
CV_NO_GUI_ERROR("cvNamedWindow"); CV_NO_GUI_ERROR("cvNamedWindow");
return -1; 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_IMPL void cvDestroyWindow( const char* )
{ {
...@@ -364,6 +363,69 @@ CV_IMPL int cvStartWindowThread() ...@@ -364,6 +363,69 @@ CV_IMPL int cvStartWindowThread()
return -1; 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 #endif
/* End of file. */ /* End of file. */
This diff is collapsed.
...@@ -96,6 +96,7 @@ enum { shortcut_zoom_normal = Qt::CTRL + Qt::Key_Z, ...@@ -96,6 +96,7 @@ enum { shortcut_zoom_normal = Qt::CTRL + Qt::Key_Z,
class CvWindow; class CvWindow;
class ViewPort; class ViewPort;
class GuiReceiver : public QObject class GuiReceiver : public QObject
{ {
Q_OBJECT Q_OBJECT
...@@ -129,28 +130,60 @@ public slots: ...@@ -129,28 +130,60 @@ public slots:
void loadWindowParameters(QString name); void loadWindowParameters(QString name);
void setOpenGLCallback(QString window_name, void* callbackOpenGL, void* userdata); void setOpenGLCallback(QString window_name, void* callbackOpenGL, void* userdata);
void putText(void* arg1, QString text, QPoint org, void* font); 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 Q_OBJECT
public: 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 Q_OBJECT
public: public:
CvTrackbar(CvWindow* parent, QString name, int* value, int count, CvTrackbarCallback on_change = NULL); CvTrackbar(CvWindow* parent, QString name, int* value, int count, CvTrackbarCallback on_change = NULL);
~CvTrackbar(); ~CvTrackbar();
QString trackbar_name; //QString trackbar_name;
QPointer<QSlider> slider; QPointer<QSlider> slider;
private slots: private slots:
...@@ -159,11 +192,9 @@ private slots: ...@@ -159,11 +192,9 @@ private slots:
private: private:
void setLabel(int myvalue); void setLabel(int myvalue);
QString createLabel(); QString createLabel();
QPointer<QPushButton > label; QPointer<QPushButton > label;
CvTrackbarCallback callback; CvTrackbarCallback callback;
QPointer<CvWindow> parent;
int* dataSlider; int* dataSlider;
}; };
...@@ -198,6 +229,7 @@ public: ...@@ -198,6 +229,7 @@ public:
void setOpenGLCallback(CvOpenGLCallback arg1,void* userdata); void setOpenGLCallback(CvOpenGLCallback arg1,void* userdata);
void hideTools(); void hideTools();
void showTools(); void showTools();
CvButtonbar* createButtonbar(QString bar_name);
...@@ -306,7 +338,7 @@ private: ...@@ -306,7 +338,7 @@ private:
//for opengl callback //for opengl callback
CvOpenGLCallback on_openGL_draw3D; CvOpenGLCallback on_openGL_draw3D;
void* on_openGL_param; void* on_openGL_param;
bool isSameSize(IplImage* img1,IplImage* img2); bool isSameSize(IplImage* img1,IplImage* img2);
QSize sizeHint() const; QSize sizeHint() const;
......
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