1 /*
2 * Copyright 2007 Haiku.
3 * Distributed under the terms of the MIT License.
4 *
5 * Authors:
6 * Oliver Ruiz Dorantes, oliver.ruiz.dorantes_at_gmail.com
7 * Ryan Leavengood, leavengood@gmail.com
8 */
9
10
11 #include "MessageWin.h"
12
13 #include <Box.h>
14 #include <Message.h>
15 #include <TextView.h>
16 #include <View.h>
17
18 /* frame will be the frame of the parent window as*/
MessageWin(BRect parentFrame,const char * title,window_look look,window_feel feel,uint32 flags,uint32 workspace)19 MessageWin::MessageWin(BRect parentFrame, const char *title,
20 window_look look, window_feel feel, uint32 flags, uint32 workspace)
21 : BWindow(parentFrame ,title ,look ,feel, flags, workspace)
22 {
23 fBox = new BBox(Bounds(), "", B_FOLLOW_ALL, B_WILL_DRAW, B_PLAIN_BORDER);
24 fBox->SetViewUIColor(B_PANEL_BACKGROUND_COLOR);
25 fBox->SetLowColor(fBox->ViewColor());
26
27 // Rects for the text view
28 BRect outside(fBox->Bounds());
29 outside.InsetBy(10, 10);
30 BRect insider(outside);
31 insider.OffsetTo(B_ORIGIN);
32
33 fText = new BTextView(outside, "message", insider, B_FOLLOW_NONE, B_WILL_DRAW);
34 fText->MakeEditable(false);
35 fText->SetViewUIColor(B_PANEL_BACKGROUND_COLOR);
36 fText->SetLowColor(fText->ViewColor());
37
38 fBox->AddChild(fText);
39 AddChild(fBox);
40
41 /* Relocate the window to the center of what its being given */
42 ResizeTo(parentFrame.Width(), floor(parentFrame.Height() / 3));
43 MoveBy(0, floor(parentFrame.Height() / 2 - (parentFrame.Height()/3) / 2 ));
44
45 }
46
47
SetText(const char * str)48 void MessageWin::SetText(const char* str)
49 {
50 Lock();
51 fText->SetText(str);
52 fText->Flush();
53 Unlock();
54 }
55
56
MessageReceived(BMessage * message)57 void MessageWin::MessageReceived(BMessage *message)
58 {
59 switch(message->what)
60 {
61 default:
62 BWindow::MessageReceived(message);
63 break;
64 }
65 }
66
67
QuitRequested()68 bool MessageWin::QuitRequested()
69 {
70 return BWindow::QuitRequested();
71 }
72
73