21class LIBDTKWIDGETSHARED_EXPORT
DSimpleListView :
public QWidget,
public DTK_CORE_NAMESPACE::DObject
36 void setRowHeight(
int height);
47 void setColumnTitleInfo(QList<QString> titles, QList<int> widths,
int height);
56 void setColumnHideFlags(QList<bool> toggleHideFlags,
int alwaysVisibleColumn=-1);
66 void setColumnSortingAlgorithms(QList<SortAlgorithm> *algorithms,
int sortColumn=-1,
bool descendingSort=
false);
73 void setSearchAlgorithm(SearchAlgorithm algorithm);
80 void setClipRadius(
int radius);
89 void setFrame(
bool enableFrame, QColor color=QColor(
"#000000"),
double opacity=0.1);
97 void addItems(QList<DSimpleListItem*> items);
117 void addSelections(QList<DSimpleListItem*> items,
bool recordLastSelection=
true);
124 void clearSelections(
bool clearLastSelection=
true);
131 QList<DSimpleListItem*> getSelections();
140 void refreshItems(QList<DSimpleListItem*> items);
145 void search(QString searchContent);
150 void setSingleSelect(
bool singleSelect);
155 void keepSelectWhenClickBlank(
bool keep);
158 void selectAllItems();
159 void selectFirstItem();
160 void selectLastItem();
161 void selectNextItem();
162 void selectPrevItem();
164 void shiftSelectPageDown();
165 void shiftSelectPageUp();
166 void shiftSelectToEnd();
167 void shiftSelectToHome();
168 void shiftSelectToNext();
169 void shiftSelectToPrev();
171 void scrollPageDown();
174 void ctrlScrollPageDown();
175 void ctrlScrollPageUp();
176 void ctrlScrollToEnd();
177 void ctrlScrollToHome();
180 virtual void leaveEvent(QEvent * event);
182 QPixmap arrowDownDarkHoverImage;
183 QPixmap arrowDownDarkNormalImage;
184 QPixmap arrowDownDarkPressImage;
185 QPixmap arrowDownHoverImage;
186 QPixmap arrowDownLightHoverImage;
187 QPixmap arrowDownLightNormalImage;
188 QPixmap arrowDownLightPressImage;
189 QPixmap arrowDownNormalImage;
190 QPixmap arrowDownPressImage;
191 QPixmap arrowUpDarkHoverImage;
192 QPixmap arrowUpDarkNormalImage;
193 QPixmap arrowUpDarkPressImage;
194 QPixmap arrowUpHoverImage;
195 QPixmap arrowUpLightHoverImage;
196 QPixmap arrowUpLightNormalImage;
197 QPixmap arrowUpLightPressImage;
198 QPixmap arrowUpNormalImage;
199 QPixmap arrowUpPressImage;
200 QString backgroundColor =
"#ffffff";
201 QString scrollbarColor =
"#ffffff";
202 QString searchColor =
"#000000";
203 QString titleAreaColor =
"#ffffff";
204 QString titleColor =
"#000000";
205 QString titleLineColor =
"#000000";
206 QColor frameColor = QColor(
"#000000");
207 double backgroundOpacity = 0.03;
208 double frameOpacity = 0.1;
209 double titleAreaOpacity = 0.02;
211 qreal scrollbarFrameHoverOpacity = 0;
212 qreal scrollbarFrameNormalOpacity = 0;
213 qreal scrollbarFramePressOpacity = 0;
214 qreal scrollbarHoverOpacity = 0.7;
215 qreal scrollbarNormalOpacity = 0.5;
216 qreal scrollbarPressOpacity = 0.8;
219 void rightClickItems(QPoint pos, QList<DSimpleListItem*> items);
220 void changeColumnVisible(
int index,
bool visible, QList<bool> columnVisibles);
221 void changeSortingStatus(
int index,
bool sortingOrder);
222 void changeHoverItem(QPoint pos,
DSimpleListItem* item,
int columnIndex);
225 void mousePressChanged(
DSimpleListItem* item,
int columnIndex, QPoint pos);
226 void mouseReleaseChanged(
DSimpleListItem* item,
int columnIndex, QPoint pos);
229 bool eventFilter(QObject *, QEvent *event);
230 void keyPressEvent(QKeyEvent *keyEvent);
231 void mouseMoveEvent(QMouseEvent *mouseEvent);
232 void mousePressEvent(QMouseEvent *mouseEvent);
233 void mouseReleaseEvent(QMouseEvent *mouseEvent);
234 void paintEvent(QPaintEvent *);
235 void wheelEvent(QWheelEvent *event);
237 void paintScrollbar(QPainter *painter);
239 void selectPrevItemWithOffset(
int scrollOffset);
240 void selectNextItemWithOffset(
int scrollOffset);
241 void shiftSelectNextItemWithOffset(
int scrollOffset);
242 void shiftSelectPrevItemWithOffset(
int scrollOffset);
244 int getBottomRenderOffset();
246 int getScrollAreaHeight();
247 int getScrollbarHeight();
249 QList<int> getRenderWidths();
251 void shiftSelectItemsWithBound(
int selectionStartIndex,
int selectionEndIndex);
252 int adjustRenderOffset(
int offset);
254 void startScrollbarHideTimer();
256 bool isMouseAtScrollArea(
int x);
257 bool isMouseAtTitleArea(
int y);
259 QList<bool> columnVisibles;
262 void hideScrollbar();