From 8173cd589424b450c648ccd565e3933d570bc741 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Mon, 27 Feb 2006 21:36:22 +0000 Subject: [PATCH 1/1] support for grayed out items --- lib/gui/elistboxcontent.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/gui/elistboxcontent.cpp b/lib/gui/elistboxcontent.cpp index cce9b614..b4c80809 100644 --- a/lib/gui/elistboxcontent.cpp +++ b/lib/gui/elistboxcontent.cpp @@ -105,10 +105,9 @@ int eListboxPythonStringContent::currentCursorSelectable() if (m_list && cursorValid()) { PyObject *item = PyList_GET_ITEM(m_list, m_cursor); - if (PyTuple_Check(item)) - item = PyTuple_GET_ITEM(item, 0); - - if (item != Py_None) + if (!PyTuple_Check(item)) + return 1; + if (PyTuple_Size(item) >= 2) return 1; } return 0; @@ -145,12 +144,17 @@ void eListboxPythonStringContent::paint(gPainter &painter, eWindowStyle &style, if (m_list && cursorValid()) { + int gray = 0; PyObject *item = PyList_GET_ITEM(m_list, m_cursor); // borrowed reference! painter.setFont(fnt); /* the user can supply tuples, in this case the first one will be displayed. */ if (PyTuple_Check(item)) + { + if (PyTuple_Size(item) == 1) + gray = 1; item = PyTuple_GET_ITEM(item, 0); + } if (item == Py_None) { @@ -161,6 +165,8 @@ void eListboxPythonStringContent::paint(gPainter &painter, eWindowStyle &style, { const char *string = PyString_Check(item) ? PyString_AsString(item) : ""; ePoint text_offset = offset + (selected ? ePoint(2, 2) : ePoint(1, 1)); + if (gray) + painter.setForegroundColor(gRGB(0x808080)); painter.renderText(eRect(text_offset, m_itemsize), string); } -- 2.30.2