1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- #ifndef DateiDialog_H
- #define DateiDialog_H
- #include "Array.h"
- #include "Thread.h"
- namespace Framework
- {
- class Text; //! Text.h
- void InitDialog();
- //! Erstellt einen Datei öffnen/speichern Dialog
- class DateiDialog : public virtual ReferenceCounter
- {
- private:
- RCArray<Text>* typeName;
- RCArray<Text>* type;
- int fileIndex;
- public:
- //! Konstruktor
- DLLEXPORT DateiDialog();
- //! Destruktor
- DLLEXPORT ~DateiDialog();
- //! Löscht die Liste mit zugelassenen Dateitypen
- DLLEXPORT void removeDateiTypen();
- //! Fügt einen zugelassenen Dateityp hinzu
- //! \param name Der Name des Dateitypes. Ist für den Nutzer in der
- //! Select Box sichtbar \param typ Der Dateityp, der ausgewählt werden
- //! darf
- DLLEXPORT void addDateiTyp(const char* name, const char* typ);
- //! Fügt einen zugelassenen Dateityp hinzu
- //! \param name Der Name des Dateitypes. Ist für den Nutzer in der
- //! Select Box sichtbar \param typ Der Dateityp, der ausgewählt werden
- //! darf
- DLLEXPORT void addDateiTyp(Text* name, Text* typ);
- //! Setzt den zu Beginn ausgewählten Dateityp
- //! \param i Der Index des Dateityps. Der, der als erstes hinzugefügt
- //! wurde, hat den Index 0.
- DLLEXPORT void setDateiTypAuswahl(int i);
- //! Zeigt den Dateidialog an
- //! \param open true, wenn der Dialog zum öffnen dienen soll. false zum
- //! Speichern \return Den Pfad zur ausgewählten Datei
- DLLEXPORT Text* anzeigen(bool open) const;
- };
- //! Verwaltet einen Datei öffnen/speichern Dialog ohne zu warten
- class DateiDialogTh : public Thread
- {
- private:
- DateiDialog* dialog;
- Text* ret;
- bool open;
- public:
- //! Konstruktor
- DLLEXPORT DateiDialogTh();
- //! Destruktor
- DLLEXPORT ~DateiDialogTh();
- //! Legt fest, ob der Dialog zum öffnen oder speichern ist
- //! \param b 1, wenn er zum öfnen ist. 0, wenn er zum speichern ist
- DLLEXPORT void setOpen(bool b);
- //! Löscht die liste mit erlaubten Dateitypen
- DLLEXPORT void removeDateiTypen();
- //! Fügt einen zugelassenen Dateityp hinzu
- //! \param name Der Name des Dateitypes. Ist für den Nutzer in der
- //! Select Box sichtbar \param typ Der Dateityp, der ausgewählt werden
- //! darf
- DLLEXPORT void addDateiTyp(const char* name, const char* typ);
- //! Fügt einen zugelassenen Dateityp hinzu
- //! \param name Der Name des Dateitypes. Ist für den Nutzer in der
- //! Select Box sichtbar \param typ Der Dateityp, der ausgewählt werden
- //! darf
- DLLEXPORT void addDateiTyp(Text* name, Text* typ);
- //! Setzt den zu Beginn ausgewählten Dateityp
- //! \param i Der Index des Dateityps. Der, der als erstes hinzugefügt
- //! wurde, hat den Index 0.
- DLLEXPORT void setDateiTypAuswahl(int i);
- //! Diese Funktion wird von der Klasse selbst aufgerufen.
- //! Benutze die start Funktion um den Dialog anzuzeigen
- DLLEXPORT void thread() override;
- //! Gibt den Pfad zur Datei zurück.
- //! Funktioniert erst, nachdem der Thread beendet wurde
- DLLEXPORT Text* getPfad() const;
- //! Gibt den Pfad zur Datei ohne erhöhten Reference Counter zurück.
- //! Funktioniert erst, nachdem der Thread beendet wurde
- DLLEXPORT Text* zPfad() const;
- };
- }; // namespace Framework
- #endif
|