2 * Copyright 2004-2006 Haiku, Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
7 * Karsten Heimrich, host.haiku@gmx.de
9 #ifndef _EXPANDER_WINDOW_H
10 #define _EXPANDER_WINDOW_H
16 #include "DirectoryFilePanel.h"
17 #include "ExpanderRules.h"
29 class ExpanderPreferences
;
33 class ExpanderWindow
: public BWindow
{
35 ExpanderWindow(BRect frameRect
,
36 const entry_ref
* ref
, BMessage
* settings
);
37 virtual ~ExpanderWindow();
39 virtual void MessageReceived(BMessage
* message
);
40 virtual bool QuitRequested();
42 // void SetRef(const entry_ref* ref);
43 void RefsReceived(BMessage
* message
);
46 void _CreateMenuBar();
48 // returns true if the window can be closed safely, false if not
49 void CloseWindowOrKeepOpen();
50 void OpenDestFolder();
53 void StartExpanding();
55 void _UpdateWindowSize(bool showContents
);
56 void _ExpandListingText();
62 BFilePanel
* fSourcePanel
;
63 DirectoryFilePanel
* fDestPanel
;
70 BButton
* fSourceButton
;
72 BButton
* fExpandButton
;
73 BMenuItem
* fExpandItem
;
76 BMenuItem
* fSourceItem
;
78 BMenuItem
* fPreferencesItem
;
79 BCheckBox
* fShowContents
;
80 BTextControl
* fSourceText
;
81 BTextControl
* fDestText
;
82 StatusView
* fStatusView
;
83 BTextView
* fListingText
;
84 BScrollView
* fScrollView
;
86 ExpanderThread
* fListingThread
;
89 ExpanderThread
* fExpandingThread
;
90 bool fExpandingStarted
;
93 ExpanderPreferences
* fPreferences
;
99 float fPreviousHeight
;
103 #endif // _EXPANDER_WINDOW_H