[haiku-commits] r33579 - haiku/trunk/src/apps/debuganalyzer/gui/table

  • From: ingo_weinhold@xxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 14 Oct 2009 07:04:36 +0200 (CEST)

Author: bonefish
Date: 2009-10-14 07:04:36 +0200 (Wed, 14 Oct 2009)
New Revision: 33579
Changeset: http://dev.haiku-os.org/changeset/33579/haiku

Modified:
   haiku/trunk/src/apps/debuganalyzer/gui/table/TableColumns.cpp
   haiku/trunk/src/apps/debuganalyzer/gui/table/TableColumns.h
Log:
Added BoolStringTableColumn for boolean values.


Modified: haiku/trunk/src/apps/debuganalyzer/gui/table/TableColumns.cpp
===================================================================
--- haiku/trunk/src/apps/debuganalyzer/gui/table/TableColumns.cpp       
2009-10-14 05:03:00 UTC (rev 33578)
+++ haiku/trunk/src/apps/debuganalyzer/gui/table/TableColumns.cpp       
2009-10-14 05:04:36 UTC (rev 33579)
@@ -3,6 +3,7 @@
  * Distributed under the terms of the MIT License.
  */
 
+
 #include "table/TableColumns.h"
 
 #include <stdio.h>
@@ -92,6 +93,38 @@
 }
 
 
+// #pragma mark - BoolStringTableColumn
+
+
+BoolStringTableColumn::BoolStringTableColumn(int32 modelIndex, const char* 
title,
+       float width, float minWidth, float maxWidth, const BString& trueString,
+       const BString& falseString, uint32 truncate, alignment align)
+       :
+       StringTableColumn(modelIndex, title, width, minWidth, maxWidth, 
truncate,
+               align),
+       fTrueString(trueString),
+       fFalseString(falseString)
+{
+}
+
+
+BField*
+BoolStringTableColumn::PrepareField(const BVariant& value) const
+{
+       return StringTableColumn::PrepareField(
+               BVariant(value.ToBool() ? fTrueString : fFalseString,
+                       B_VARIANT_DONT_COPY_DATA));
+}
+
+
+int
+BoolStringTableColumn::CompareValues(const BVariant& a, const BVariant& b)
+{
+       bool aValue = a.ToBool();
+       return aValue == b.ToBool() ? 0 : (aValue ? 1 : -1);
+}
+
+
 // #pragma mark - Int32TableColumn
 
 

Modified: haiku/trunk/src/apps/debuganalyzer/gui/table/TableColumns.h
===================================================================
--- haiku/trunk/src/apps/debuganalyzer/gui/table/TableColumns.h 2009-10-14 
05:03:00 UTC (rev 33578)
+++ haiku/trunk/src/apps/debuganalyzer/gui/table/TableColumns.h 2009-10-14 
05:04:36 UTC (rev 33579)
@@ -5,6 +5,7 @@
 #ifndef TABLE_COLUMNS_H
 #define TABLE_COLUMNS_H
 
+
 #include <ColumnTypes.h>
 
 #include "table/TableColumn.h"
@@ -56,6 +57,28 @@
 };
 
 
+class BoolStringTableColumn : public StringTableColumn {
+public:
+                                                               
BoolStringTableColumn(int32 modelIndex,
+                                                                       const 
char* title, float width,
+                                                                       float 
minWidth, float maxWidth,
+                                                                       const 
BString& trueString = "true",
+                                                                       const 
BString& falseString = "false",
+                                                                       uint32 
truncate = B_TRUNCATE_MIDDLE,
+                                                                       
alignment align = B_ALIGN_LEFT);
+
+protected:
+       virtual BField*                         PrepareField(const BVariant& 
value) const;
+
+       virtual int                                     CompareValues(const 
BVariant& a,
+                                                                       const 
BVariant& b);
+
+private:
+                       BString                         fTrueString;
+                       BString                         fFalseString;
+};
+
+
 class Int32TableColumn : public StringTableColumn {
 public:
                                                                
Int32TableColumn(int32 modelIndex,


Other related posts:

  • » [haiku-commits] r33579 - haiku/trunk/src/apps/debuganalyzer/gui/table - ingo_weinhold