[haiku-commits] r40204 - haiku/trunk/src/servers/bluetooth

  • From: yourpalal2@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 11 Jan 2011 19:09:19 +0100 (CET)

Author: yourpalal
Date: 2011-01-11 19:09:19 +0100 (Tue, 11 Jan 2011)
New Revision: 40204
Changeset: http://dev.haiku-os.org/changeset/40204

Modified:
   haiku/trunk/src/servers/bluetooth/Output.cpp
   haiku/trunk/src/servers/bluetooth/Output.h
Log:
Patch by Hamish Morrison as part of GCI. Refactor Bluetooth server output 
window gui code to use the Layout API. One small change by me as well.


Modified: haiku/trunk/src/servers/bluetooth/Output.cpp
===================================================================
--- haiku/trunk/src/servers/bluetooth/Output.cpp        2011-01-11 17:44:46 UTC 
(rev 40203)
+++ haiku/trunk/src/servers/bluetooth/Output.cpp        2011-01-11 18:09:19 UTC 
(rev 40204)
@@ -1,7 +1,8 @@
 /*
- * Copyright BeNet Team (Original Project)
+ * Copyright 2011 Hamish Morrison, hamish@xxxxxxxxxxx
  * Copyright 2010 Oliver Ruiz Dorantes, oliver.ruiz.dorantes_at_gmail.com
  * Copyright 2010 Dan-Matei Epure, mateiepure@xxxxxxxxx
+ * Copyright BeNet Team (Original Project)
  * All rights reserved. Distributed under the terms of the MIT License.
  */
 #ifndef _Output_h
@@ -10,6 +11,7 @@
 
 #include <Looper.h>
 #include <String.h>
+
 #include <stdio.h>
 
 /*
@@ -19,68 +21,51 @@
 */
 
 
-OutputView::OutputView(BRect frame)
+OutputView::OutputView()
        :
-       BView(frame, "OutputView", B_FOLLOW_ALL, B_WILL_DRAW)
+       BGroupView("OutputView", B_VERTICAL, B_WILL_DRAW)
 {
-       SetViewColor(216, 216, 216);
-       rgb_color color = {255, 255, 255};
-
-       BRect b = Bounds();
-       AddChild(fTextView = new BTextView(BRect(b.left + 5, b.top + 5, b.right 
-
-               B_V_SCROLL_BAR_WIDTH - 6, b.bottom - 5), "Output", BRect(b.left 
+ 5, 
-               b.top + 5, b.right - B_V_SCROLL_BAR_WIDTH - 6, b.bottom - 5), 
NULL,
-               &color, B_FOLLOW_ALL_SIDES, B_WILL_DRAW));
+       rgb_color textColor = {255, 255, 255};
+       fTextView = new BTextView("Output", NULL, &textColor, B_WILL_DRAW);
        fTextView->SetViewColor(0, 0, 100);
        fTextView->MakeEditable(false);
-
-       AddChild(fScrollBar = new BScrollBar(BRect(b.right - 
B_V_SCROLL_BAR_WIDTH - 5,
-               b.top + 5, b.right - 5, b.bottom - 5),
-               "outputScroll", fTextView, 0, 0, B_VERTICAL));
+       BScrollView* scrollView = new BScrollView("ScrollView", fTextView, 0, 
false, true);
+       
+       BLayoutBuilder::Group<>(this).Add(scrollView);
 }
 
 
-void
-OutputView::FrameResized(float width, float height)
-{
-       BView::FrameResized(width, height);
-       fTextView->SetTextRect(BRect(0, 0, width, height));
-}
-
-
 // Singleton implementation
 Output* Output::sInstance = 0;
 
+
 Output::Output()
        :
        BWindow(BRect(200, 200, 800, 800), "Output", B_TITLED_WINDOW, 
B_NOT_ZOOMABLE)
 {
-       BRect b = Bounds();
-
        fTabsList = new BList(20);
        fOutputViewsList = new BList(20);
 
-       BView* resetView = new BView(BRect(b.left, b.bottom - 25, b.right, 
b.bottom), 
-               "resetView", B_FOLLOW_BOTTOM | B_FOLLOW_LEFT_RIGHT, 
B_WILL_DRAW);
-       resetView->SetViewColor(216, 216, 216);
-       resetView->AddChild(fReset = new BButton(BRect(1, 1, 61, 20), "reset 
all",
-               "Clear", new BMessage(kMsgOutputReset), B_FOLLOW_BOTTOM));
-       resetView->AddChild(fResetAll = new BButton(BRect(70, 1, 130, 20), 
"reset", 
-               "Clear all", new BMessage(kMsgOutputResetAll), 
B_FOLLOW_BOTTOM));
-       AddChild(resetView);
+       fReset = new BButton("reset all", "Clear", 
+               new BMessage(kMsgOutputReset), B_WILL_DRAW);
+       fResetAll = new BButton("reset", "Clear all",
+               new BMessage(kMsgOutputResetAll), B_WILL_DRAW);
+       
+       fTabView = new BTabView("tab_view", B_WIDTH_FROM_LABEL,
+               B_FULL_UPDATE_ON_RESIZE | B_WILL_DRAW | B_NAVIGABLE_JUMP);
 
-       fTabView = new BTabView(BRect(b.left, b.top, b.right, b.bottom - 25), 
"tab_view",
-               B_WIDTH_FROM_LABEL ,B_FOLLOW_ALL, B_FULL_UPDATE_ON_RESIZE | 
B_WILL_DRAW 
-               | B_NAVIGABLE_JUMP );
-       fTabView->SetViewColor(216, 216, 216);
-
-       fBounds = fTabView->Bounds();
-       fBounds.bottom -= fTabView->TabHeight();
-
-       fTabView->AddTab(fAll = new OutputView(fBounds), fAllTab = new BTab()); 
-       fAllTab->SetLabel("All"); 
-
-       AddChild(fTabView);
+       fTabView->AddTab(fAll = new OutputView(), fAllTab = new BTab()); 
+       fAllTab->SetLabel("All");
+       
+       BLayoutBuilder::Group<>(this, B_VERTICAL, 5)
+               .Add(fTabView)
+               .AddGroup(B_HORIZONTAL, 0)
+                       .Add(fReset)
+                       .AddGlue()
+                       .Add(fResetAll)
+               .End()
+               .SetInsets(5, 5, 5, 5);
+       
        /*
        MoveTo( Preferences::Instance()->OutputX(),
                        Preferences::Instance()->OutputY());
@@ -95,8 +80,7 @@
        BTab*           customTab;
 
        Lock();
-       fTabView->AddTab(customOutput = new OutputView(fBounds), customTab = 
-               new BTab());
+       fTabView->AddTab(customOutput = new OutputView(), customTab = new 
BTab());
        customTab->SetLabel(text);
        fTabView->Invalidate();
        Unlock();
@@ -176,7 +160,7 @@
        int done;
 
        va_start (arg, format);
-       done = vsprintf (string, format, arg);
+       done = vsnprintf(string, 200, format, arg);
        va_end (arg);
 
        Post(string, index);

Modified: haiku/trunk/src/servers/bluetooth/Output.h
===================================================================
--- haiku/trunk/src/servers/bluetooth/Output.h  2011-01-11 17:44:46 UTC (rev 
40203)
+++ haiku/trunk/src/servers/bluetooth/Output.h  2011-01-11 18:09:19 UTC (rev 
40204)
@@ -1,4 +1,5 @@
 /*
+ * Copyright 2011 Hamish Morrison, hamish@xxxxxxxxxxx
  * Copyright 2010 Oliver Ruiz Dorantes
  * Copyright 2010 Dan-Matei Epure, mateiepure@xxxxxxxxx
  * Copyright BeNet Team (Original Project)
@@ -7,28 +8,27 @@
 #ifndef _Output_h
 #define _Output_h
 
-#include <Window.h>
-#include <TextView.h>
-#include <ScrollBar.h>
 #include <Button.h>
+#include <LayoutBuilder.h>
+#include <ScrollView.h>
 #include <TabView.h>
+#include <TextView.h>
+#include <Window.h>
 
 const uint32 kMsgOutputReset   = 'outr';
 const uint32 kMsgOutputResetAll        = 'opra';
 
 
-class OutputView : public BView
+class OutputView : public BGroupView
 {
 public:
-       OutputView(BRect frame);
-       virtual void    FrameResized(float width, float height);
+       OutputView();
 
        void                    Add(const char* text)   
{fTextView->Insert(text);}
        void                    Clear()                                 
{fTextView->Delete(0, fTextView->TextLength());}
 
 private:
        BTextView*              fTextView;
-       BScrollBar*             fScrollBar;
 };
 
 
@@ -67,8 +67,6 @@
        
        BList*                  fTabsList;
        BList*                  fOutputViewsList;
-       BRect                   fBounds; 
-                                               // Bounds for tabs
 };
 
 


Other related posts:

  • » [haiku-commits] r40204 - haiku/trunk/src/servers/bluetooth - yourpalal2