1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- #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( char *name, 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( char *name, 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;
- };
- };
- #endif
|