From 23375d83d2c191d85e65580d6307c0949b5007e5 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Thu, 12 Apr 2007 19:47:26 +0000 Subject: [PATCH] itemheight is now a property of the listbox content --- lib/gui/elistbox.h | 4 +++- lib/gui/elistboxcontent.cpp | 10 +++++++++- lib/gui/elistboxcontent.h | 4 ++++ lib/service/listboxservice.cpp | 9 ++++++++- lib/service/listboxservice.h | 6 ++++++ 5 files changed, 30 insertions(+), 3 deletions(-) diff --git a/lib/gui/elistbox.h b/lib/gui/elistbox.h index 2eb54dd9..7538170c 100644 --- a/lib/gui/elistbox.h +++ b/lib/gui/elistbox.h @@ -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 diff --git a/lib/gui/elistboxcontent.cpp b/lib/gui/elistboxcontent.cpp index 621fa5cc..4fa5a65e 100644 --- a/lib/gui/elistboxcontent.cpp +++ b/lib/gui/elistboxcontent.cpp @@ -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); +} diff --git a/lib/gui/elistboxcontent.h b/lib/gui/elistboxcontent.h index 9c89c658..f934ed59 100644 --- a/lib/gui/elistboxcontent.h +++ b/lib/gui/elistboxcontent.h @@ -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 > m_font; }; diff --git a/lib/service/listboxservice.cpp b/lib/service/listboxservice.cpp index 8bb02611..627895c2 100644 --- a/lib/service/listboxservice.cpp +++ b/lib/service/listboxservice.cpp @@ -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); +} diff --git a/lib/service/listboxservice.h b/lib/service/listboxservice.h index 8623336f..01b3d3c6 100644 --- a/lib/service/listboxservice.h +++ b/lib/service/listboxservice.h @@ -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 -- 2.30.2