File indexing completed on 2024-12-08 03:29:07
0001 /* 0002 This file is part of Kiten, a KDE Japanese Reference Tool 0003 SPDX-FileCopyrightText: 2006 Joseph Kerian <jkerian@gmail.com> 0004 SPDX-FileCopyrightText: 2006 Eric Kjeldergaard <kjelderg@gmail.com> 0005 0006 SPDX-License-Identifier: LGPL-2.0-or-later 0007 */ 0008 0009 #ifndef KITEN_HISTORYPTRLIST_H 0010 #define KITEN_HISTORYPTRLIST_H 0011 0012 #include <QStringList> 0013 0014 #include "kiten_export.h" 0015 0016 class EntryList; 0017 0018 class KITEN_EXPORT HistoryPtrList 0019 { 0020 public: 0021 /** 0022 * Construct a HistoryPtrList, this should be done early on 0023 */ 0024 HistoryPtrList(); 0025 /** 0026 * Destructor... kill all lists before going 0027 */ 0028 virtual ~HistoryPtrList(); 0029 /** 0030 * Add an item to the end of the history list and set it as 0031 * the current displayed item. 0032 */ 0033 void addItem(EntryList *newItem); 0034 /** 0035 * Return a list of the entries. Note that this is usually 0036 * just a QStringList of all of the EntryList's DictQuery->toString() calls. 0037 */ 0038 QStringList toStringList(); 0039 /** 0040 * Return a list of the entries prior to the current one (not including 0041 * the current entry. 0042 */ 0043 QStringList toStringListPrev(); 0044 /** 0045 * Return a summary list that only includes those after the current 0046 */ 0047 QStringList toStringListNext(); 0048 /** 0049 * Add one to the current location, convenient for 'forward' buttons 0050 */ 0051 void next(int distance = 1); 0052 /** 0053 * Sub one from the current location, the counterpart to next() 0054 */ 0055 void prev(int distance = 1); 0056 /** 0057 * Return the current numerical 0-based location 0058 */ 0059 int index(); 0060 /** 0061 * Return the item at the location given by the parameter, and set it 0062 * to be the current history list item. 0063 */ 0064 /** 0065 * Return the current item 0066 */ 0067 EntryList *current(); 0068 /** 0069 * Set the current item 0070 */ 0071 void setCurrent(int i); 0072 /** 0073 * Return the total number of items in the list 0074 */ 0075 int count(); 0076 0077 private: 0078 class Private; 0079 Private *const d; 0080 }; 0081 0082 #endif