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( 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;
- };
- };
- #endif
|