itemheight is now a property of the listbox content
authorFelix Domke <tmbinc@elitedvb.net>
Thu, 12 Apr 2007 19:47:26 +0000 (19:47 +0000)
committerFelix Domke <tmbinc@elitedvb.net>
Thu, 12 Apr 2007 19:47:26 +0000 (19:47 +0000)
lib/gui/elistbox.h
lib/gui/elistboxcontent.cpp
lib/gui/elistboxcontent.h
lib/service/listboxservice.cpp
lib/service/listboxservice.h

index 2eb54dd..7538170 100644 (file)
@@ -48,6 +48,8 @@ protected:
                /* the following functions always refer to the selected item */
        virtual void paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected)=0;
        
+       virtual int getItemHeight()=0;
+       
        eListbox *m_listbox;
 #endif
 };
@@ -95,7 +97,7 @@ public:
                pageDown,
                justCheck
        };
-       
+
        void setItemHeight(int h);
        void setSelectionEnable(int en);
 #ifndef SWIG
index 621fa5c..4fa5a65 100644 (file)
@@ -37,6 +37,7 @@ iListboxContent::iListboxContent(): m_listbox(0)
 void iListboxContent::setListbox(eListbox *lb)
 {
        m_listbox = lb;
+       m_listbox->setItemHeight(getItemHeight());
 }
 
 int iListboxContent::currentCursorSelectable()
@@ -48,7 +49,7 @@ int iListboxContent::currentCursorSelectable()
 
 DEFINE_REF(eListboxPythonStringContent);
 
-eListboxPythonStringContent::eListboxPythonStringContent()
+eListboxPythonStringContent::eListboxPythonStringContent(): m_itemheight(25)
 {
 }
 
@@ -661,3 +662,10 @@ void eListboxPythonMultiContent::setFont(int fnt, gFont *font)
        else
                m_font.erase(fnt);
 }
+
+void eListboxPythonMultiContent::setItemHeight(int height)
+{
+       m_itemheight = height;
+       if (m_listbox)
+               m_listbox->setItemHeight(height);
+}
index 9c89c65..f934ed5 100644 (file)
@@ -38,11 +38,14 @@ protected:
        
                /* the following functions always refer to the selected item */
        virtual void paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected);
+       
+       int getItemHeight() { return m_itemheight; }
 
 protected:
        ePyObject m_list;
        int m_cursor, m_saved_cursor;
        eSize m_itemsize;
+       int m_itemheight;
 #endif
 };
 
@@ -68,6 +71,7 @@ public:
        
        void setFont(int fnt, gFont *fnt);
        void setBuildFunc(SWIG_PYOBJECT(ePyObject) func);
+       void setItemHeight(int height);
 private:
        std::map<int, ePtr<gFont> > m_font;
 };
index 8bb0261..627895c 100644 (file)
@@ -260,7 +260,7 @@ void eListboxServiceContent::sort()
 DEFINE_REF(eListboxServiceContent);
 
 eListboxServiceContent::eListboxServiceContent()
-       :m_visual_mode(visModeSimple), m_size(0), m_current_marked(false), m_numberoffset(0)
+       :m_visual_mode(visModeSimple), m_size(0), m_current_marked(false), m_numberoffset(0), m_itemheight(25)
 {
        cursorHome();
        eServiceCenter::getInstance(m_service_center);
@@ -606,3 +606,10 @@ void eListboxServiceContent::setIgnoreService( const eServiceReference &service
 {
        m_is_playable_ignore=service;
 }
+
+int eListboxServiceContent::setItemHeight(int height)
+{
+       m_itemheight = height;
+       if (m_listbox)
+               m_listbox->setItemHeight(height);
+}
index 8623336..01b3d3c 100644 (file)
@@ -72,6 +72,10 @@ public:
        int setCurrentMarked(bool);
 
        void setNumberOffset(int offset) { m_numberoffset = offset; }
+       
+       int getItemHeight() { return m_itemheight; }
+       int setItemHeight(int height);
+       
 protected:
        void cursorHome();
        void cursorEnd();
@@ -120,6 +124,8 @@ private:
        int m_numberoffset;
 
        eServiceReference m_is_playable_ignore;
+
+       int m_itemheight;
 };
 
 #endif