+
+#include "LiveSupport/Core/Ptr.h"
+#include "LiveSupport/Core/LocalizedObject.h"
+
+#include "GLiveSupport.h"
+#include "MasterPanelUserInfoWidget.h"
+
+namespace LiveSupport {
+namespace GLiveSupport {
+
+using namespace LiveSupport::Core;
+
+/* ================================================================ constants */
+
+
+/* =================================================================== macros */
+
+
+/* =============================================================== data types */
+
+/**
+ * The upload file window.
+ *
+ * The layout of the window is roughly the following:
+ *
+ * +--- upload file window ----------------+
+ * | choose file: +-- file browser --+ |
+ * | name: +-- name input ----+ |
+ * | +-- upload button -+ |
+ * | +-- close button --+ |
+ * | +-- status bar ---------------------+ |
+ * +---------------------------------------+
+ *
+ *
+ * @author $Author: maroy $
+ * @version $Revision: 1.1 $
+ */
+class UploadFileWindow : public Gtk::Window, public LocalizedObject
+{
+ protected:
+ /**
+ * The layout used in the window.
+ */
+ Ptr::Ref layout;
+
+ /**
+ * The choose file label
+ */
+ Ptr::Ref chooseFileLabel;
+
+ /**
+ * The text entry for selecting a file name
+ */
+ Ptr::Ref fileNameEntry;
+
+ /**
+ * The file browser button.
+ */
+ Ptr::Ref chooseFileButton;
+
+ /**
+ * The name label
+ */
+ Ptr::Ref nameLabel;
+
+ /**
+ * The text input for the name.
+ */
+ Ptr::Ref nameEntry;
+
+ /**
+ * The upload button.
+ */
+ Ptr::Ref uploadButton;
+
+ /**
+ * The close button.
+ */
+ Ptr::Ref closeButton;
+
+ // TODO: add status bar
+
+ /**
+ * The gLiveSupport object, handling the logic of the application.
+ */
+ Ptr::Ref gLiveSupport;
+
+ /**
+ * The name of the file to upload.
+ */
+ Ptr::Ref fileName;
+
+ /**
+ * Function to catch the event of the choose file button being
+ * pressed.
+ */
+ virtual void
+ onChooseFileButtonClicked(void) throw ();
+
+ /**
+ * Function to catch the event of the upload button being
+ * pressed.
+ */
+ virtual void
+ onUploadButtonClicked(void) throw ();
+
+ /**
+ * Function to catch the event of the close button being pressed.
+ */
+ virtual void
+ onCloseButtonClicked(void) throw ();
+
+
+ public:
+ /**
+ * Constructor.
+ *
+ * @param gLiveSupport the gLiveSupport object, handling the
+ * logic of the application
+ * @param bundle the resource bundle holding localized resources
+ */
+ UploadFileWindow(Ptr::Ref gLiveSupport,
+ Ptr::Ref bundle)
+ throw ();
+
+ /**
+ * Virtual destructor.
+ */
+ virtual
+ ~UploadFileWindow(void) throw ()
+ {
+ }
+
+};
+
+/* ================================================= external data structures */
+
+
+/* ====================================================== function prototypes */
+
+
+} // namespace GLiveSupport
+} // namespace LiveSupport
+
+#endif // UploadFileWindow_h
+