summaryrefslogtreecommitdiff
path: root/src/mytablewidget.cpp
diff options
context:
space:
mode:
authorMaia Kozheva <sikon@ubuntu.com>2009-11-20 18:22:19 +0600
committerMaia Kozheva <sikon@ubuntu.com>2009-11-20 18:22:19 +0600
commit263b32f108c15cd1c55a8f4eb4704fac6553f1ac (patch)
tree1c49e7848aa2d3d64a9d9b96b8852cb1884da2f7 /src/mytablewidget.cpp
Imported Upstream version 0.6.8
Diffstat (limited to 'src/mytablewidget.cpp')
-rw-r--r--src/mytablewidget.cpp85
1 files changed, 85 insertions, 0 deletions
diff --git a/src/mytablewidget.cpp b/src/mytablewidget.cpp
new file mode 100644
index 0000000..155ec1b
--- /dev/null
+++ b/src/mytablewidget.cpp
@@ -0,0 +1,85 @@
+/* smplayer, GUI front-end for mplayer.
+ Copyright (C) 2006-2009 Ricardo Villalba <rvm@escomposlinux.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+*/
+
+#include "mytablewidget.h"
+#include <QTableWidgetItem>
+
+#define BE_VERBOSE 0
+
+MyTableWidget::MyTableWidget( QWidget * parent ) : QTableWidget(parent)
+{
+}
+
+MyTableWidget::MyTableWidget( int rows, int columns, QWidget * parent )
+ : QTableWidget(rows, columns, parent)
+{
+}
+
+QTableWidgetItem * MyTableWidget::getItem(int row, int column, bool * existed ) {
+#if BE_VERBOSE
+ qDebug("MyTableWidget::getItem: %d, %d", row, column);
+#endif
+ QTableWidgetItem * i = item(row, column);
+ if (existed != 0) *existed = (i!=0); // Returns if the item already existed or not
+ if (i != 0) return i; else return createItem(column);
+}
+
+QTableWidgetItem * MyTableWidget::createItem(int /*col*/) {
+#if BE_VERBOSE
+ qDebug("MyTableWidget::createItem");
+#endif
+ QTableWidgetItem * i = new QTableWidgetItem();
+ i->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsDragEnabled);
+ return i;
+}
+
+void MyTableWidget::setText(int row, int column, const QString & text ) {
+#if BE_VERBOSE
+ qDebug("MyTableWidget::setText: %d, %d", row, column);
+#endif
+ bool existed;
+ QTableWidgetItem * i = getItem(row, column, &existed);
+ i->setText(text);
+ if (!existed) setItem(row, column, i);
+}
+
+QString MyTableWidget::text(int row, int column) {
+#if BE_VERBOSE
+ qDebug("MyTableWidget::text: %d, %d", row, column);
+#endif
+ return getItem(row, column)->text();
+}
+
+void MyTableWidget::setIcon(int row, int column, const QIcon & icon ) {
+#if BE_VERBOSE
+ qDebug("MyTableWidget::setIcon %d, %d", row, column);
+#endif
+ bool existed;
+ QTableWidgetItem * i = getItem(row, column, &existed);
+ i->setIcon(icon);
+ if (!existed) setItem(row, column, i);
+}
+
+QIcon MyTableWidget::icon(int row, int column) {
+ return getItem(row, column)->icon();
+}
+
+bool MyTableWidget::isSelected(int row, int column) {
+ return getItem(row, column)->isSelected();
+}
+