[haiku-commits] r40154 - in haiku/trunk: headers/os/interface src/kits/interface

  • From: axeld@xxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sat, 8 Jan 2011 17:14:13 +0100 (CET)

Author: axeld
Date: 2011-01-08 17:14:13 +0100 (Sat, 08 Jan 2011)
New Revision: 40154
Changeset: http://dev.haiku-os.org/changeset/40154

Modified:
   haiku/trunk/headers/os/interface/GridLayout.h
   haiku/trunk/src/kits/interface/GridLayout.cpp
Log:
* Added ItemAt() method that accepts column and row.


Modified: haiku/trunk/headers/os/interface/GridLayout.h
===================================================================
--- haiku/trunk/headers/os/interface/GridLayout.h       2011-01-08 15:03:58 UTC 
(rev 40153)
+++ haiku/trunk/headers/os/interface/GridLayout.h       2011-01-08 16:14:13 UTC 
(rev 40154)
@@ -1,10 +1,11 @@
 /*
- * Copyright 2006-2010, Haiku, Inc. All rights reserved.
+ * Copyright 2006-2011, Haiku, Inc. All rights reserved.
  * Distributed under the terms of the MIT License.
  */
 #ifndef        _GRID_LAYOUT_H
 #define        _GRID_LAYOUT_H
 
+
 #include <TwoDimensionalLayout.h>
 
 
@@ -44,6 +45,8 @@
                        float                           MaxRowHeight(int32 row) 
const;
                        void                            SetMaxRowHeight(int32 
row, float height);
 
+                       BLayoutItem*            ItemAt(int32 column, int32 row) 
const;
+
        virtual BLayoutItem*            AddView(BView* child);
        virtual BLayoutItem*            AddView(int32 index, BView* child);
        virtual BLayoutItem*            AddView(BView* child, int32 column, 
int32 row,
@@ -63,13 +66,13 @@
        virtual status_t                        ItemUnarchived(const BMessage* 
from,
                                                                        
BLayoutItem* item, int32 index);
 
-protected:     
+protected:
        virtual bool                            ItemAdded(BLayoutItem* item, 
int32 atIndex);
        virtual void                            ItemRemoved(BLayoutItem* item, 
int32 fromIndex);
 
        virtual bool                            HasMultiColumnItems();
        virtual bool                            HasMultiRowItems();
-       
+
        virtual int32                           InternalCountColumns();
        virtual int32                           InternalCountRows();
        virtual void                            GetColumnRowConstraints(
@@ -79,11 +82,11 @@
        virtual void                            GetItemDimensions(BLayoutItem* 
item,
                                                                        
Dimensions* dimensions);
 
-private:       
+private:
                        class DummyLayoutItem;
                        class RowInfoArray;
                        struct ItemLayoutData;
-                       
+
                        bool                            _IsGridCellEmpty(int32 
column, int32 row);
                        bool                            
_AreGridCellsEmpty(int32 column, int32 row,
                                                                        int32 
columnCount, int32 rowCount);
@@ -105,4 +108,5 @@
                        int32                           fMultiRowItems;
 };
 
+
 #endif // _GRID_LAYOUT_H

Modified: haiku/trunk/src/kits/interface/GridLayout.cpp
===================================================================
--- haiku/trunk/src/kits/interface/GridLayout.cpp       2011-01-08 15:03:58 UTC 
(rev 40153)
+++ haiku/trunk/src/kits/interface/GridLayout.cpp       2011-01-08 16:14:13 UTC 
(rev 40154)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2010, Haiku Inc.
+ * Copyright 2010-2011, Haiku Inc.
  * Copyright 2006, Ingo Weinhold <bonefish@xxxxxxxxxxxxxxx>.
  * All rights reserved. Distributed under the terms of the MIT License.
  */
@@ -373,6 +373,17 @@
 
 
 BLayoutItem*
+BGridLayout::ItemAt(int32 column, int32 row) const
+{
+       if (column < 0 || column >= CountColumns()
+               || row < 0 || row >= CountRows())
+               return NULL;
+
+       return fGrid[column][row];
+}
+
+
+BLayoutItem*
 BGridLayout::AddView(BView* child)
 {
        return BTwoDimensionalLayout::AddView(child);


Other related posts:

  • » [haiku-commits] r40154 - in haiku/trunk: headers/os/interface src/kits/interface - axeld