Ticket #5525: splitView.2.patch
File splitView.2.patch, 2.3 KB (added by , 14 years ago) |
---|
-
src/kits/interface/SplitView.cpp
7 7 8 8 #include <stdio.h> 9 9 10 #include <Archivable.h> 10 11 #include <ControlLook.h> 11 12 #include <Cursor.h> 12 13 … … 23 24 } 24 25 25 26 27 BSplitView::BSplitView(BMessage* from) 28 : 29 BView(BUnarchiver::PrepareArchive(from)), 30 fSplitLayout(NULL) 31 { 32 BUnarchiver(from).Finish(); 33 } 34 35 26 36 BSplitView::~BSplitView() 27 37 { 28 38 } … … 216 226 } 217 227 218 228 229 status_t 230 BSplitView::Archive(BMessage* into, bool deep) const 231 { 232 return BView::Archive(into, deep); 233 } 234 235 236 status_t 237 BSplitView::AllUnarchived(const BMessage* from) 238 { 239 status_t err = BView::AllUnarchived(from); 240 if (err == B_OK) { 241 fSplitLayout = dynamic_cast<BSplitLayout*>(GetLayout()); 242 if (!fSplitLayout && GetLayout()) 243 return B_BAD_TYPE; 244 else if (!fSplitLayout) 245 return B_ERROR; 246 } 247 return err; 248 } 249 250 251 BArchivable* 252 BSplitView::Instantiate(BMessage* from) 253 { 254 if (validate_instantiation(from, "BSplitView")) 255 return new BSplitView(from); 256 return NULL; 257 } 258 259 219 260 void 220 261 BSplitView::DrawSplitter(BRect frame, const BRect& updateRect, 221 262 enum orientation orientation, bool pressed) -
headers/os/interface/SplitView.h
1 1 /* 2 * Copyright 2006 , Haiku, Inc. All rights reserved.2 * Copyright 2006-2010, Haiku, Inc. All rights reserved. 3 3 * Distributed under the terms of the MIT License. 4 4 */ 5 5 #ifndef _SPLIT_VIEW_H … … 16 16 enum orientation orientation 17 17 = B_HORIZONTAL, 18 18 float spacing = 0.0f); 19 BSplitView(BMessage* from); 19 20 virtual ~BSplitView(); 20 21 21 22 void SetInsets(float left, float top, float right, … … 59 60 virtual void SetLayout(BLayout* layout); 60 61 // overridden to avoid use 61 62 63 virtual status_t Archive(BMessage* into, bool deep = true) const; 64 virtual status_t AllUnarchived(const BMessage* from); 65 static BArchivable* Instantiate(BMessage* from); 66 62 67 protected: 63 68 virtual void DrawSplitter(BRect frame, 64 69 const BRect& updateRect,