xref: /haiku/src/apps/terminal/TermWindow.h (revision 4f00613311d0bd6b70fa82ce19931c41f071ea4e)
1 /*
2  * Copyright (c) 2003-4 Kian Duffy <myob@users.sourceforge.net>
3  * Parts Copyright (C) 1998,99 Kazuho Okui and Takashi Murai.
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining
6  * a copy of this software and associated documentation files or portions
7  * thereof (the "Software"), to deal in the Software without restriction,
8  * including without limitation the rights to use, copy, modify, merge,
9  * publish, distribute, sublicense, and/or sell copies of the Software,
10  * and to permit persons to whom the Software is furnished to do so, subject
11  * to the following conditions:
12  *
13  *  * Redistributions of source code must retain the above copyright notice,
14  *    this list of conditions and the following disclaimer.
15  *
16  *  * Redistributions in binary form must reproduce the above copyright notice
17  *    in the  binary, as well as this list of conditions and the following
18  *    disclaimer in the documentation and/or other materials provided with
19  *    the distribution.
20  *
21  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
22  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
24  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
27  * THE SOFTWARE.
28  *
29  */
30 #ifndef TERMWIN_H
31 #define TERMWIN_H
32 
33 #include <Menu.h>
34 #include <Window.h>
35 #include <MessageRunner.h>
36 
37 #include "PrefHandler.h"
38 
39 class BFont;
40 class TermView;
41 class TermParse;
42 class CodeConv;
43 class PrefDlg;
44 class PrefDlg2;
45 class FindDlg;
46 
47 
48 class TermWindow : public BWindow
49 {
50 public:
51   TermWindow (BRect frame, int32 windownumber=1);
52   ~TermWindow ();
53 
54   void		Quit (void);
55   bool		QuitRequested (void);
56   void		TermWinActivate (void);
57   status_t	GetSupportedSuites (BMessage *msg);
58   BHandler*	ResolveSpecifier (BMessage *msg, int32 index,
59 				  BMessage *specifier, int32 form,
60 				  const char *property);
61 
62 private:
63   void		InitWindow (void);
64   void		SetupMenu (void);
65 //  void		colRequested (void);
66   void		MessageReceived (BMessage *message);
67   void		WindowActivated (bool);
68   int		GetTimeZone (void);
69   void		MenusBeginning(void);
70 //  void		doShowHelp (uint32 command);
71   // Printing
72   status_t	DoPageSetup (void);
73   void		DoPrint (void);
74 
75   /*
76    * data member
77    */
78   TermParse	*fTermParse;
79   BMenuBar	*fMenubar;
80   BMenu		*fFilemenu, *fEditmenu, *fEncodingmenu, *fHelpmenu, *fFontMenu, *fWindowSizeMenu, *fNewFontMenu;
81   TermView	*fTermView;
82   BView		*fBaseView;
83   CodeConv	*fCodeConv;
84   BMessage	*fPrintSettings;
85   PrefDlg	*fPrefWindow;
86   FindDlg	*fFindPanel;
87   BMessageRunner *fWindowUpdate;
88   BMenuItem *item;
89 };
90 
91 #endif // TERMWIN_H
92