Wittyshare  0.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
WsModImagesGallery.h
Go to the documentation of this file.
1 /*
2 * Copyright (C) 2006-Today Guy Deleeuw
3 *
4 * See the LICENSE file for terms of use.
5 */
6 
7 #ifndef WsModImagesGallery_H__
8 #define WsModImagesGallery_H__ 1
9 
10 #include <Wt/WContainerWidget>
11 #include <Wt/WFileUpload>
12 #include <Wt/WProgressBar>
13 #include <Wt/WPushButton>
14 #include <Wt/WText>
15 
16 #include <gdcore/gdImage.h>
17 
18 #include <WsModule/src/WsModule.h>
19 
20 // TODO : pas top je sais
22 
39 class WsImagesGallery : public Wt::WContainerWidget, public WsOptions {
40 public :
42  WsImagesGallery(Wt::WContainerWidget* parent = 0);
44  void load();
45  void buildVector();
46  void buildThumbnails();
47  void renderButtons();
48  void renderThumb();
49  void renderImage();
50 
52  void setMaxImages(int nMaxImages);
53 
54 public slots:
55  void doTimeoutThumb();
56  void doTimeoutImage();
57  void doPrevious(Wt::WPushButton* pButton);
58  void doPlay(Wt::WPushButton* pButton);
59  void doNext(Wt::WPushButton* pButton);
60  void doThumbClicked(int nImageId);
61 
62 private :
63  std::vector<std::string> m_vImages;
64  //std::vector<std::string> m_vThumbnails;
65  std::vector<Magick::Blob> m_vThumbnails;
66  std::vector<std::string> m_vDisplayNames;
70  Wt::WTimer* m_pTimerThumb;
71  Wt::WTimer* m_pTimerImage;
73  Wt::WText* m_pImages2Text;
74  WContainerWidget* m_cwThumb;
75 };
76 
77 class WsModImagesGallery : public WsModule {
78 public :
82  Wt::WWidget* createContentsMenuBar(Wt::WContainerWidget* parent = 0) const;
83  Wt::WWidget* createContents(Wt::WContainerWidget* parent = 0) const;
84  WsEditorWidget* createEditor(Wt::WContainerWidget* parent = 0) const;
85  Wt::WWidget* createAdmin(Wt::WContainerWidget* parent = 0) const;
86  bool saveEditor() const;
87  std::string description() const;
88 };
89 
90 extern "C" {
91  // http://phoxis.org/2011/04/27/c-language-constructors-and-destructors-with-gcc/
92  void WsModImagesGalleryInit(void) __attribute__((constructor));
93 
95  {
96  return new WsModImagesGallery();
97  }
98 }
99 
100 #endif // ifndef WsModImagesGallery_H__
101 
WsEditorWidget * createEditor(Wt::WContainerWidget *parent=0) const
Create the contents for an editor (create a view of options).
std::vector< Magick::Blob > m_vThumbnails
void doThumbClicked(int nImageId)
void setMaxImages(int nMaxImages)
Set the number of images in the menu. If the number of images is more than this value a timer rotate ...
WsImages2 * m_pImages2
std::vector< std::string > m_vDisplayNames
void WsModImagesGalleryInit(void) __attribute__((constructor))
base class for building a wittyShare module
void doPlay(Wt::WPushButton *pButton)
void doPrevious(Wt::WPushButton *pButton)
WsImagesGallery(Wt::WContainerWidget *parent=0)
CTor.
Wt::WText * m_pImages2Text
std::string description() const
Return the description of the module.
std::vector< std::string > m_vImages
WsModImagesGallery * buildModule()
WContainerWidget * m_cwThumb
Wt::WWidget * createAdmin(Wt::WContainerWidget *parent=0) const
Create the contents for an administrator.
Wt::WTimer * m_pTimerThumb
Wt::WWidget * createContentsMenuBar(Wt::WContainerWidget *parent=0) const
Create the functionalities.
Wt::WTimer * m_pTimerImage
Wt::WWidget * createContents(Wt::WContainerWidget *parent=0) const
Create the contents.
a wittyShare class that render images randomly
void doNext(Wt::WPushButton *pButton)