2 * Copyright 2006-2010, Stephan Aßmus <superstippi@gmx.de>.
3 * All rights reserved. Distributed under the terms of the MIT License.
12 #include "IconBuild.h"
23 class IconObjectListView
;
31 class TransformerListView
;
40 class MultipleManipulatorState
;
50 class MainWindow
: public BWindow
, public Observer
{
52 MainWindow(BRect frame
, IconEditorApp
* app
,
53 const BMessage
* settings
);
54 virtual ~MainWindow();
57 virtual void MessageReceived(BMessage
* message
);
58 virtual bool QuitRequested();
59 virtual void WorkspaceActivated(int32 workspace
,
61 virtual void WorkspacesChanged(uint32 oldWorkspaces
,
62 uint32 newWorkspaces
);
65 virtual void ObjectChanged(const Observable
* object
);
69 void SetIcon(Icon
* icon
);
71 void Open(const entry_ref
& ref
,
73 void Open(const BMessenger
& externalObserver
,
74 const uint8
* data
, size_t size
);
76 void StoreSettings(BMessage
* archive
);
77 void RestoreSettings(const BMessage
* archive
);
82 BMenuBar
* _CreateMenuBar();
84 void _ImproveScrollBarLayout(BView
* target
);
86 bool _CheckSaveIcon(const BMessage
* currentMessage
);
87 void _PickUpActionBeforeSave();
89 void _MakeIconEmpty();
90 DocumentSaver
* _CreateSaver(const entry_ref
& ref
,
93 const char* _FileName(bool preferExporter
) const;
94 void _UpdateWindowTitle();
99 CurrentColor
* fCurrentColor
;
102 BMessage
* fMessageAfterSave
;
107 BMenu
* fTransformerMenu
;
108 BMenu
* fPropertyMenu
;
113 BMenuItem
* fMouseFilterOffMI
;
114 BMenuItem
* fMouseFilter64MI
;
115 BMenuItem
* fMouseFilter32MI
;
116 BMenuItem
* fMouseFilter16MI
;
118 CanvasView
* fCanvasView
;
119 SwatchGroup
* fSwatchGroup
;
120 StyleView
* fStyleView
;
122 IconView
* fIconPreview16Folder
;
123 IconView
* fIconPreview16Menu
;
124 IconView
* fIconPreview32Folder
;
125 IconView
* fIconPreview32Desktop
;
126 IconView
* fIconPreview48
;
127 IconView
* fIconPreview64
;
129 PathListView
* fPathListView
;
130 StyleListView
* fStyleListView
;
132 ShapeListView
* fShapeListView
;
133 TransformerListView
* fTransformerListView
;
134 IconObjectListView
* fPropertyListView
;
136 // TODO: for testing only...
137 MultipleManipulatorState
* fState
;
141 #endif // MAIN_WINDOW_H