DateiDialog.h 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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. int ref;
  54. public:
  55. // Konstruktor
  56. __declspec( dllexport ) DateiDialogTh();
  57. // Destruktor
  58. __declspec( dllexport ) ~DateiDialogTh();
  59. // Legt fest, ob der Dialog zum öffnen oder speichern ist
  60. // b: 1, wenn er zum öfnen ist. 0, wenn er zum speichern ist
  61. __declspec( dllexport ) void setOpen( bool b );
  62. // Löscht die liste mit erlaubten Dateitypen
  63. __declspec( dllexport ) void removeDateiTypen();
  64. // Fügt einen zugelassenen Dateityp hinzu
  65. // name: Der Name des Dateitypes. Ist für den Nutzer in der Select Box sichtbar
  66. // typ: Der Dateityp, der ausgewählt werden darf
  67. __declspec( dllexport ) void addDateiTyp( char *name, char *typ );
  68. // Fügt einen zugelassenen Dateityp hinzu
  69. // name: Der Name des Dateitypes. Ist für den Nutzer in der Select Box sichtbar
  70. // typ: Der Dateityp, der ausgewählt werden darf
  71. __declspec( dllexport ) void addDateiTyp( Text *name, Text *typ );
  72. // Setzt den zu Beginn ausgewählten Dateityp
  73. // i: Der Index des Dateityps. Der, der als erstes hinzugefügt wurde, hat den Index 0.
  74. __declspec( dllexport ) void setDateiTypAuswahl( int i );
  75. // Diese Funktion wird von der Klasse selbst aufgerufen.
  76. // Benutze die start Funktion um den Dialog anzuzeigen
  77. __declspec( dllexport ) void thread() override;
  78. // Gibt den Pfad zur Datei zurück.
  79. // Funktioniert erst, nachdem der Thread beendet wurde
  80. __declspec( dllexport ) Text *getPfad() const;
  81. // Gibt den Pfad zur Datei ohne erhöhten Reference Counter zurück.
  82. // Funktioniert erst, nachdem der Thread beendet wurde
  83. __declspec( dllexport ) Text *zPfad() const;
  84. // Erhöht den Reference Counting Zähler.
  85. // return: this.
  86. __declspec( dllexport ) DateiDialogTh *getThis();
  87. // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
  88. // return: 0.
  89. __declspec( dllexport ) DateiDialogTh *release();
  90. };
  91. };
  92. #endif