source: flair-src/branches/mavlink/tools/FlairGCS/src/ListWidget.cpp @ 54

Last change on this file since 54 was 54, checked in by Thomas Fuhrmann, 5 years ago

Default xml configuration is working with ListWidget?

File size: 2.3 KB
Line 
1// %flair:license{
2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
4// %flair:license}
5#include "ListWidget.h"
6#include "Layout.h"
7#include <QListWidget>
8#include <QFormLayout>
9#include <QLabel>
10
11#include <iostream>
12
13ListWidget::ListWidget(Layout *parent, int row, int col, QString name)
14    : FormLayout(parent, row, col, name, "ListWidget") {
15  listwidget = new QListWidget();
16  object_layout->addRow(new QLabel(name));
17  object_layout->addRow(listwidget);
18  // to avoid duplicates when adding items
19  SetIsExpandable(true);
20}
21
22ListWidget::ListWidget(Layout *parent, int row, int col, QString name, QStringList& items)
23    : ListWidget(parent, row, col, name) {
24  if (!items.isEmpty()) {
25    listwidget->addItems(items);
26  }
27}
28
29ListWidget::~ListWidget() { delete listwidget; }
30
31void ListWidget::XmlEvent(QDomElement dom) {
32  if (dom.attribute("item") != "") {
33    QString item = dom.attribute("item");
34    listwidget->addItem(item);
35  }
36  if (dom.attribute("delete") != "") {
37    QListWidgetItem* current_item = listwidget->currentItem();
38    listwidget->removeItemWidget(current_item);
39    if (current_item) {
40      delete current_item; 
41    }
42  }
43}
44
45void ListWidget::SetUptodate(void) {
46  // ui_to_var();
47  // ui_to_xml();
48  std::cout << "SetUptodate" << std::endl;
49  visible_widget->setPalette(black_pal);
50}
51
52// void ListWidget::ui_to_var(void) { combobox_value = listwidget->currentIndex(); }
53
54// void ListWidget::ui_to_xml(void) {
55//   SetValue(QString::number(listwidget->currentIndex()));
56// }
57
58void ListWidget::Reset(void) { 
59  // listwidget->setCurrentIndex(combobox_value);
60}
61
62void ListWidget::LoadEvent(QDomElement dom) {
63  std::cout << "In LoadEvent" << std::endl;
64  // Parse the item list   
65  QStringList items;
66  int count = 0;
67  while (dom.hasAttribute("item" + QString::number(count))) {
68    QString item = dom.attribute("item" + QString::number(count));
69    std::cout << "Item" << count << " : " << item.toStdString() << std::endl;
70    items.append(item);
71    count++;
72  }
73
74  listwidget->addItems(items);
75
76  // if (listwidget->isEnabled() == true) {
77    // listwidget->setCurrentIndex((dom.attribute("value")).toInt());
78  // }
79}
80
81// void ListWidget::valuechanged(int value) {
82//   if (value != combobox_value) {
83//     visible_widget->setPalette(red_pal);
84//   } else {
85//     visible_widget->setPalette(black_pal);
86//   }
87// }
Note: See TracBrowser for help on using the repository browser.