DateiDialog.h 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #ifndef DateiDialog_H
  2. #define DateiDialog_H
  3. #include "Array.h"
  4. #include "Thread.h"
  5. namespace Framework
  6. {
  7. class Text; // Text.h
  8. void InitDialog();
  9. // Erstellt einen Datei öffnen/speichern Dialog
  10. class DateiDialog
  11. {
  12. private:
  13. RCArray< Text > *typeName;
  14. RCArray< Text > *type;
  15. int fileIndex;
  16. int ref;
  17. public:
  18. // Konstruktor
  19. __declspec( dllexport ) DateiDialog();
  20. // Destruktor
  21. __declspec( dllexport ) ~DateiDialog();
  22. // Löscht die Liste mit zugelassenen Dateitypen
  23. __declspec( dllexport ) void removeDateiTypen();
  24. // Fügt einen zugelassenen Dateityp hinzu
  25. // name: Der Name des Dateitypes. Ist für den Nutzer in der Select Box sichtbar
  26. // typ: Der Dateityp, der ausgewählt werden darf
  27. __declspec( dllexport ) void addDateiTyp( char *name, char *typ );
  28. // Fügt einen zugelassenen Dateityp hinzu
  29. // name: Der Name des Dateitypes. Ist für den Nutzer in der Select Box sichtbar
  30. // typ: Der Dateityp, der ausgewählt werden darf
  31. __declspec( dllexport ) void addDateiTyp( Text *name, Text *typ );
  32. // Setzt den zu Beginn ausgewählten Dateityp
  33. // i: Der Index des Dateityps. Der, der als erstes hinzugefügt wurde, hat den Index 0.
  34. __declspec( dllexport ) void setDateiTypAuswahl( int i );
  35. // Zeigt den Dateidialog an
  36. // open: true, wenn der Dialog zum öffnen dienen soll. false zum Speichern
  37. // return: Den Pfad zur ausgewählten Datei
  38. __declspec( dllexport ) Text *anzeigen( bool open ) const;
  39. // Erhöht den Reference Counting Zähler.
  40. // return: this.
  41. __declspec( dllexport ) DateiDialog *getThis();
  42. // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
  43. // return: 0.
  44. __declspec( dllexport ) DateiDialog *release();
  45. };
  46. // Verwaltet einen Datei öffnen/speichern Dialog ohne zu warten
  47. class DateiDialogTh : public Thread
  48. {
  49. private:
  50. DateiDialog *dialog;
  51. Text *ret;
  52. bool open;
  53. public:
  54. // Konstruktor
  55. __declspec( dllexport ) DateiDialogTh();
  56. // Destruktor
  57. __declspec( dllexport ) ~DateiDialogTh();
  58. // Legt fest, ob der Dialog zum öffnen oder speichern ist
  59. // b: 1, wenn er zum öfnen ist. 0, wenn er zum speichern ist
  60. __declspec( dllexport ) void setOpen( bool b );
  61. // Löscht die liste mit erlaubten Dateitypen
  62. __declspec( dllexport ) void removeDateiTypen();
  63. // Fügt einen zugelassenen Dateityp hinzu
  64. // name: Der Name des Dateitypes. Ist für den Nutzer in der Select Box sichtbar
  65. // typ: Der Dateityp, der ausgewählt werden darf
  66. __declspec( dllexport ) void addDateiTyp( char *name, char *typ );
  67. // Fügt einen zugelassenen Dateityp hinzu
  68. // name: Der Name des Dateitypes. Ist für den Nutzer in der Select Box sichtbar
  69. // typ: Der Dateityp, der ausgewählt werden darf
  70. __declspec( dllexport ) void addDateiTyp( Text *name, Text *typ );
  71. // Setzt den zu Beginn ausgewählten Dateityp
  72. // i: Der Index des Dateityps. Der, der als erstes hinzugefügt wurde, hat den Index 0.
  73. __declspec( dllexport ) void setDateiTypAuswahl( int i );
  74. // Diese Funktion wird von der Klasse selbst aufgerufen.
  75. // Benutze die start Funktion um den Dialog anzuzeigen
  76. __declspec( dllexport ) void thread() override;
  77. // Gibt den Pfad zur Datei zurück.
  78. // Funktioniert erst, nachdem der Thread beendet wurde
  79. __declspec( dllexport ) Text *getPfad() const;
  80. // Gibt den Pfad zur Datei ohne erhöhten Reference Counter zurück.
  81. // Funktioniert erst, nachdem der Thread beendet wurde
  82. __declspec( dllexport ) Text *zPfad() const;
  83. // löscht das objekt wenn es nicht mehr gebraucht wird und beendet den Thread
  84. __declspec( dllexport ) Thread *release() override;
  85. };
  86. };
  87. #endif