ScummVM API documentation
recorderdialog.h
1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef GUI_RECORDER_DIALOG_H
23 #define GUI_RECORDER_DIALOG_H
24 #include "common/stream.h"
25 #include "common/recorderfile.h"
26 #include "gui/dialog.h"
27 namespace GUI {
28 
29 class ListWidget;
30 class GraphicsWidget;
31 class ButtonWidget;
32 class CommandSender;
33 class ContainerWidget;
34 class StaticTextWidget;
35 
36 class RecorderDialog : public GUI::Dialog {
37  using GUI::Dialog::runModal;
38 
39 private:
40  bool _firstScreenshotUpdate;
41  Common::PlaybackFile _playbackFile;
42  Common::String _target;
43  Common::String _filename;
44  int _currentScreenshot;
45  int _screenShotsCount;
47  GUI::ListWidget *_list;
48  GUI::ContainerWidget *_container;
49  GUI::GraphicsWidget *_gfxWidget;
50  GUI::StaticTextWidget *_currentScreenshotText;
51  GUI::StaticTextWidget *_authorText;
52  GUI::StaticTextWidget *_notesText;
53  GUI::ButtonWidget *_editButton;
54  GUI::ButtonWidget *_deleteButton;
55  GUI::ButtonWidget *_playbackButton;
56  GUI::ButtonWidget *_nextScreenshotBtn;
57  GUI::ButtonWidget *_prevScreenshotBtn;
58 
59  void updateList();
60  void updateScreenShotsText();
61  void updateSelection(bool redraw);
62  void updateScreenshot();
63  void addThumbnailContainerButtonsAndText();
64 public:
65  Common::U32String _author;
66  Common::String _name;
67  Common::String _notes;
68  enum DialogResult {
69  kRecordDialogClose,
70  kRecordDialogRecord,
71  kRecordDialogPlayback
72  };
74  ~RecorderDialog() override;
75 
76  void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data) override;
77  void reflowLayout() override;
78 
79  int runModal(Common::String &target);
80  const Common::String getFileName() {return _filename;}
81 };
82 
83 } // End of namespace GUI
84 
85 
86 #endif
Definition: str.h:59
Definition: recorderdialog.h:36
Definition: widget.h:443
Definition: recorderfile.h:79
Definition: widget.h:205
Definition: system.h:46
Definition: ustr.h:57
Definition: list.h:51
Definition: dialog.h:49
Definition: widget.h:513
Definition: widget.h:232
Definition: object.h:40