diff options
-rw-r--r-- | muse/TODO | 2 | ||||
-rw-r--r-- | muse/muse/ctrl/definemidictrl.ui | 94 | ||||
-rw-r--r-- | muse/muse/driver/jackaudio.h | 5 | ||||
-rw-r--r-- | muse/muse/liste/CMakeLists.txt | 12 | ||||
-rw-r--r-- | muse/muse/liste/listedit.cpp | 36 | ||||
-rw-r--r-- | muse/muse/liste/listedit.h | 8 | ||||
-rw-r--r-- | muse/muse/liste/partlistedit.cpp | 67 | ||||
-rw-r--r-- | muse/muse/liste/partlistedit.h | 50 | ||||
-rw-r--r-- | muse/muse/liste/partlistedit.ui | 141 | ||||
-rw-r--r-- | muse/muse/liste/tracklistedit.cpp | 65 | ||||
-rw-r--r-- | muse/muse/liste/tracklistedit.h | 50 | ||||
-rw-r--r-- | muse/muse/liste/tracklistedit.ui | 146 |
12 files changed, 608 insertions, 68 deletions
@@ -23,8 +23,6 @@ BUGS - make export midi work FEATURES - - wave editor is completely broken - - missing time signature ruler in master editor - If events recorded outside part ask after recording what to do: diff --git a/muse/muse/ctrl/definemidictrl.ui b/muse/muse/ctrl/definemidictrl.ui index 409ebfd6..a66e55cb 100644 --- a/muse/muse/ctrl/definemidictrl.ui +++ b/muse/muse/ctrl/definemidictrl.ui @@ -27,9 +27,46 @@ <property name="spacing" > <number>6</number> </property> + <item rowspan="2" row="0" column="0" > + <widget class="QLabel" name="label_13" > + <property name="font" > + <font> + <pointsize>24</pointsize> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + <property name="frameShadow" > + <enum>QFrame::Raised</enum> + </property> + <property name="lineWidth" > + <number>5</number> + </property> + <property name="text" > + <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Arial'; font-size:24pt; font-weight:600; font-style:normal; text-decoration:none;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:400;"> </span><span style=" font-weight:400;">CTRL </span></p></body></html></string> + </property> + </widget> + </item> + <item row="0" column="1" > + <widget class="QLabel" name="label_2" > + <property name="text" > + <string>Controller Name:</string> + </property> + </widget> + </item> <item row="0" column="2" > <widget class="QLineEdit" name="controllerName" /> </item> + <item row="1" column="1" > + <widget class="QLabel" name="label" > + <property name="text" > + <string>Controller Type:</string> + </property> + </widget> + </item> <item row="1" column="2" > <widget class="QComboBox" name="controllerType" > <item> @@ -64,46 +101,19 @@ </item> </widget> </item> - <item row="0" column="1" > - <widget class="QLabel" name="label_2" > - <property name="text" > - <string>Controller Name:</string> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QLabel" name="label" > - <property name="text" > - <string>Controller Type:</string> - </property> - </widget> - </item> - <item rowspan="2" row="0" column="0" > - <widget class="QLabel" name="label_13" > - <property name="font" > - <font> - <pointsize>24</pointsize> - <weight>75</weight> - <bold>true</bold> - </font> - </property> - <property name="frameShadow" > - <enum>QFrame::Raised</enum> - </property> - <property name="lineWidth" > - <number>5</number> - </property> - <property name="text" > - <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:24pt; font-weight:600; font-style:normal; text-decoration:none;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:400;"> </span><span style=" font-weight:400;">CTRL </span></p></body></html></string> - </property> - </widget> - </item> </layout> </item> <item> + <widget class="QLabel" name="label_14" > + <property name="text" > + <string>Comment:</string> + </property> + </widget> + </item> + <item> + <widget class="QTextEdit" name="controllerComment" /> + </item> + <item> <layout class="QHBoxLayout" > <property name="margin" > <number>0</number> @@ -235,16 +245,6 @@ p, li { white-space: pre-wrap; } </property> </widget> </item> - <item> - <widget class="QTextEdit" name="controllerComment" /> - </item> - <item> - <widget class="QLabel" name="label_14" > - <property name="text" > - <string>Comment:</string> - </property> - </widget> - </item> </layout> </widget> <resources/> diff --git a/muse/muse/driver/jackaudio.h b/muse/muse/driver/jackaudio.h index 98d8e493..c6835c0e 100644 --- a/muse/muse/driver/jackaudio.h +++ b/muse/muse/driver/jackaudio.h @@ -77,13 +77,10 @@ class JackAudio : public AudioDriver { void graphChanged(); virtual void putEvent(Port, const MidiEvent&); virtual void startMidiCycle(Port); -// virtual unsigned int getCurFrame() { return pos.frame; } - virtual unsigned framePos() const { + virtual unsigned framePos() const { return pos.frame + jack_frames_since_cycle_start(_client); } -// unsigned lastFrameTime() { return jack_last_frame_time(_client); } -// unsigned framesSinceCyleStart() { return jack_frames_since_cycle_start(_client); } virtual unsigned frameTime() const { return jack_frame_time(_client); } }; diff --git a/muse/muse/liste/CMakeLists.txt b/muse/muse/liste/CMakeLists.txt index a8e5187c..433713b8 100644 --- a/muse/muse/liste/CMakeLists.txt +++ b/muse/muse/liste/CMakeLists.txt @@ -18,18 +18,24 @@ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #============================================================================= -QT4_WRAP_CPP ( liste_mocs +QT4_WRAP_CPP ( liste_mocs listedit.h ctrllistedit.h + tracklistedit.h + partlistedit.h ) -QT4_WRAP_UI ( liste_ui_headers +QT4_WRAP_UI ( liste_ui_headers ctrllistedit.ui + partlistedit.ui + tracklistedit.ui ) -add_library ( liste STATIC +add_library ( liste STATIC listedit.cpp listedit.h ctrllistedit.cpp ctrllistedit.h + partlistedit.cpp partlistedit.h + tracklistedit.cpp tracklistedit.h ${liste_mocs} ${liste_ui_headers} ) diff --git a/muse/muse/liste/listedit.cpp b/muse/muse/liste/listedit.cpp index 02dfe5d2..74bd2725 100644 --- a/muse/muse/liste/listedit.cpp +++ b/muse/muse/liste/listedit.cpp @@ -20,6 +20,8 @@ #include "listedit.h" #include "ctrllistedit.h" +#include "partlistedit.h" +#include "tracklistedit.h" #include "song.h" #include "part.h" #include "ctrl.h" @@ -30,7 +32,7 @@ bool ListType::operator==(const ListType& t) const { - return id == t.id && track == t.track + return id == t.id && track == t.track && part == t.part && ctrl->id() == t.ctrl->id(); } @@ -59,9 +61,13 @@ ListEdit::ListEdit(QWidget*) stack = new QStackedWidget; split->addWidget(stack); - + ctrlPanel = new CtrlListEditor(this); stack->addWidget(ctrlPanel); + partPanel = new PartListEditor(this); + stack->addWidget(partPanel); + trackPanel = new TrackListEditor(this); + stack->addWidget(trackPanel); connect(list, SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)), SLOT(itemChanged(QTreeWidgetItem*,QTreeWidgetItem*))); @@ -93,12 +99,16 @@ void ListEdit::itemChanged(QTreeWidgetItem* i, QTreeWidgetItem*) lt = i->data(0, Qt::UserRole).value<ListType>(); switch(lt.id) { case LIST_TRACK: - return; + ew = trackPanel; + break; case LIST_PART: - return; + ew = partPanel; + break; case LIST_CTRL: ew = ctrlPanel; break; + default: + return; } ew->setup(lt); stack->setCurrentWidget(ew); @@ -116,36 +126,42 @@ void ListEdit::buildList() ListType lt; for (iTrack i = tl->begin(); i != tl->end(); ++i,++idx) { - Track* t = *i; - lt.track = t; QTreeWidgetItem* item = new QTreeWidgetItem; + Track* t = *i; item->setText(0, t->name()); - lt.id = LIST_TRACK; + lt.id = LIST_TRACK; + lt.track = t; item->setData(0, Qt::UserRole, QVariant::fromValue(lt)); list->insertTopLevelItem(idx, item); + PartList* pl = t->parts(); if (!pl->empty()) { QTreeWidgetItem* pitem = new QTreeWidgetItem(item); pitem->setFlags(pitem->flags() & ~Qt::ItemIsSelectable); pitem->setText(0, tr("Parts")); + lt.id = LIST_NONE; + pitem->setData(0, Qt::UserRole, QVariant::fromValue(lt)); for (iPart pi = pl->begin(); pi != pl->end(); ++pi) { - lt.id = LIST_PART; + lt.id = LIST_PART; lt.part = pi->second; QTreeWidgetItem* ppitem = new QTreeWidgetItem(pitem); ppitem->setData(0, Qt::UserRole, QVariant::fromValue(lt)); ppitem->setText(0, pi->second->name()); } } + CtrlList* cl = t->controller(); lt.part = 0; if (!cl->empty()) { QTreeWidgetItem* citem = new QTreeWidgetItem(item); citem->setText(0, tr("Controller")); citem->setFlags(citem->flags() & ~Qt::ItemIsSelectable); + lt.id = LIST_NONE; + citem->setData(0, Qt::UserRole, QVariant::fromValue(lt)); for (iCtrl ci = cl->begin(); ci != cl->end(); ++ci) { QTreeWidgetItem* ccitem = new QTreeWidgetItem(citem); ccitem->setText(0, ci->second->name()); - lt.id = LIST_CTRL; + lt.id = LIST_CTRL; lt.ctrl = ci->second; ccitem->setData(0, Qt::UserRole, QVariant::fromValue(lt)); } @@ -163,7 +179,7 @@ void ListEdit::songChanged(int flags) | SC_PART_REMOVED)) { buildList(); selectItem(); - } + } } //--------------------------------------------------------- diff --git a/muse/muse/liste/listedit.h b/muse/muse/liste/listedit.h index 66179cd0..b49e61c3 100644 --- a/muse/muse/liste/listedit.h +++ b/muse/muse/liste/listedit.h @@ -28,19 +28,21 @@ class Track; class Part; class Ctrl; class CtrlListEditor; +class PartListEditor; +class TrackListEditor; //--------------------------------------------------------- // ListType //--------------------------------------------------------- -enum { LIST_TRACK, LIST_PART, LIST_CTRL }; +enum { LIST_NONE, LIST_TRACK, LIST_PART, LIST_CTRL }; struct ListType { int id; Track* track; Part* part; Ctrl* ctrl; - + bool operator==(const ListType& t) const; }; @@ -72,6 +74,8 @@ class ListEdit : public TopWin { QStackedWidget* stack; QTreeWidget* list; CtrlListEditor* ctrlPanel; + PartListEditor* partPanel; + TrackListEditor* trackPanel; void buildList(); QTreeWidgetItem* findItem(const ListType& lt, QTreeWidgetItem* item); diff --git a/muse/muse/liste/partlistedit.cpp b/muse/muse/liste/partlistedit.cpp new file mode 100644 index 00000000..ca325bf5 --- /dev/null +++ b/muse/muse/liste/partlistedit.cpp @@ -0,0 +1,67 @@ +//============================================================================= +// MusE +// Linux Music Editor +// $Id:$ +// +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= + +#include "partlistedit.h" +#include "track.h" +#include "song.h" +#include "al/pos.h" +#include "awl/posedit.h" +#include "part.h" + +//--------------------------------------------------------- +// PartListEditor +//--------------------------------------------------------- + +PartListEditor::PartListEditor(ListEdit* e, QWidget* parent) + : ListWidget(parent) + { + listEdit = e; + QWidget* cew = new QWidget; + le.setupUi(cew); + QVBoxLayout* layout = new QVBoxLayout; + layout->addWidget(cew); + setLayout(layout); + + QFontMetrics fm(le.eventList->font()); + int zW = fm.width("0"); + le.eventList->setColumnWidth(TICK_COL, zW * 8); + le.eventList->setColumnWidth(TIME_COL, zW * 14); + + part = 0; + } + +//--------------------------------------------------------- +// setup +//--------------------------------------------------------- + +void PartListEditor::setup(const ListType& lt) + { + part = lt.part; + le.partName->setText(part->name()); + updateList(); + } + +//--------------------------------------------------------- +// updateList +//--------------------------------------------------------- + +void PartListEditor::updateList() + { + } diff --git a/muse/muse/liste/partlistedit.h b/muse/muse/liste/partlistedit.h new file mode 100644 index 00000000..fa3d8f5c --- /dev/null +++ b/muse/muse/liste/partlistedit.h @@ -0,0 +1,50 @@ +//============================================================================= +// MusE +// Linux Music Editor +// $Id:$ +// +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= + +#ifndef __PARTLISTEDIT_H__ +#define __PARTLISTEDIT_H__ + +#include "al/pos.h" +#include "listedit.h" +#include "ui_partlistedit.h" + +//--------------------------------------------------------- +// PartListEditor +//--------------------------------------------------------- + +class PartListEditor : public ListWidget { + Q_OBJECT + + ListEdit* listEdit; + Ui::PartListEdit le; + Part* part; + + void updateList(); + + private slots: + + public: + PartListEditor(ListEdit*, QWidget* parent = 0); + virtual void setup(const ListType&); + enum { TICK_COL, TIME_COL }; + }; + +#endif + diff --git a/muse/muse/liste/partlistedit.ui b/muse/muse/liste/partlistedit.ui new file mode 100644 index 00000000..a31f6c9a --- /dev/null +++ b/muse/muse/liste/partlistedit.ui @@ -0,0 +1,141 @@ +<ui version="4.0" > + <class>PartListEdit</class> + <widget class="QWidget" name="PartListEdit" > + <property name="geometry" > + <rect> + <x>0</x> + <y>0</y> + <width>400</width> + <height>341</height> + </rect> + </property> + <property name="windowTitle" > + <string>Form</string> + </property> + <layout class="QVBoxLayout" > + <property name="margin" > + <number>9</number> + </property> + <property name="spacing" > + <number>6</number> + </property> + <item> + <layout class="QHBoxLayout" > + <property name="margin" > + <number>0</number> + </property> + <property name="spacing" > + <number>6</number> + </property> + <item> + <widget class="QLabel" name="label" > + <property name="sizePolicy" > + <sizepolicy> + <hsizetype>5</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="font" > + <font> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + <property name="text" > + <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:600; font-style:normal; text-decoration:none;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:400;">Part:</span></p></body></html></string> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="partName" /> + </item> + </layout> + </item> + <item> + <widget class="QLabel" name="label_2" > + <property name="text" > + <string>Eventlist:</string> + </property> + </widget> + </item> + <item> + <widget class="QTreeWidget" name="eventList" > + <property name="alternatingRowColors" > + <bool>true</bool> + </property> + <property name="indentation" > + <number>0</number> + </property> + <property name="rootIsDecorated" > + <bool>false</bool> + </property> + <property name="uniformRowHeights" > + <bool>true</bool> + </property> + <property name="itemsExpandable" > + <bool>false</bool> + </property> + <column> + <property name="text" > + <string>Tick</string> + </property> + </column> + <column> + <property name="text" > + <string>Time</string> + </property> + </column> + <column> + <property name="text" > + <string>Value</string> + </property> + </column> + </widget> + </item> + <item> + <layout class="QHBoxLayout" > + <property name="margin" > + <number>0</number> + </property> + <property name="spacing" > + <number>6</number> + </property> + <item> + <widget class="QToolButton" name="deleteButton" > + <property name="text" > + <string>Delete</string> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="insertButton" > + <property name="text" > + <string>Insert</string> + </property> + </widget> + </item> + <item> + <spacer> + <property name="orientation" > + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" > + <size> + <width>231</width> + <height>29</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + </layout> + </widget> + <resources/> + <connections/> +</ui> diff --git a/muse/muse/liste/tracklistedit.cpp b/muse/muse/liste/tracklistedit.cpp new file mode 100644 index 00000000..24fc4722 --- /dev/null +++ b/muse/muse/liste/tracklistedit.cpp @@ -0,0 +1,65 @@ +//============================================================================= +// MusE +// Linux Music Editor +// $Id:$ +// +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= + +#include "tracklistedit.h" +#include "track.h" +#include "song.h" +#include "al/pos.h" +#include "awl/posedit.h" + +//--------------------------------------------------------- +// TrackListEditor +//--------------------------------------------------------- + +TrackListEditor::TrackListEditor(ListEdit* e, QWidget* parent) + : ListWidget(parent) + { + listEdit = e; + QWidget* cew = new QWidget; + le.setupUi(cew); + QVBoxLayout* layout = new QVBoxLayout; + layout->addWidget(cew); + setLayout(layout); + + QFontMetrics fm(le.partList->font()); + int zW = fm.width("0"); + le.partList->setColumnWidth(TICK_COL, zW * 8); + le.partList->setColumnWidth(TIME_COL, zW * 14); + track = 0; + } + +//--------------------------------------------------------- +// setup +//--------------------------------------------------------- + +void TrackListEditor::setup(const ListType& lt) + { + track = lt.track; + le.trackName->setText(track->name()); + updateList(); + } + +//--------------------------------------------------------- +// updateList +//--------------------------------------------------------- + +void TrackListEditor::updateList() + { + } diff --git a/muse/muse/liste/tracklistedit.h b/muse/muse/liste/tracklistedit.h new file mode 100644 index 00000000..7d4b57f7 --- /dev/null +++ b/muse/muse/liste/tracklistedit.h @@ -0,0 +1,50 @@ +//============================================================================= +// MusE +// Linux Music Editor +// $Id:$ +// +// Copyright (C) 2002-2006 by Werner Schweer and others +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 2. +// +// 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., 675 Mass Ave, Cambridge, MA 02139, USA. +//============================================================================= + +#ifndef __TRACKLISTEDIT_H__ +#define __TRACKLISTEDIT_H__ + +#include "al/pos.h" +#include "listedit.h" +#include "ui_tracklistedit.h" + +//--------------------------------------------------------- +// TrackListEditor +//--------------------------------------------------------- + +class TrackListEditor : public ListWidget { + Q_OBJECT + + ListEdit* listEdit; + Ui::TrackListEdit le; + Track* track; + + void updateList(); + + private slots: + + public: + TrackListEditor(ListEdit*, QWidget* parent = 0); + virtual void setup(const ListType&); + enum { TICK_COL, TIME_COL }; + }; + +#endif + diff --git a/muse/muse/liste/tracklistedit.ui b/muse/muse/liste/tracklistedit.ui new file mode 100644 index 00000000..dfddf1c7 --- /dev/null +++ b/muse/muse/liste/tracklistedit.ui @@ -0,0 +1,146 @@ +<ui version="4.0" > + <class>TrackListEdit</class> + <widget class="QWidget" name="TrackListEdit" > + <property name="geometry" > + <rect> + <x>0</x> + <y>0</y> + <width>400</width> + <height>341</height> + </rect> + </property> + <property name="windowTitle" > + <string>Form</string> + </property> + <layout class="QVBoxLayout" > + <property name="margin" > + <number>9</number> + </property> + <property name="spacing" > + <number>6</number> + </property> + <item> + <layout class="QHBoxLayout" > + <property name="margin" > + <number>0</number> + </property> + <property name="spacing" > + <number>6</number> + </property> + <item> + <widget class="QLabel" name="label" > + <property name="sizePolicy" > + <sizepolicy> + <hsizetype>5</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="font" > + <font> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + <property name="text" > + <string><html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:600; font-style:normal; text-decoration:none;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:400;">Track:</span></p></body></html></string> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="trackName" /> + </item> + </layout> + </item> + <item> + <widget class="QLabel" name="label_2" > + <property name="text" > + <string>Partlist:</string> + </property> + </widget> + </item> + <item> + <widget class="QTreeWidget" name="partList" > + <property name="alternatingRowColors" > + <bool>true</bool> + </property> + <property name="indentation" > + <number>0</number> + </property> + <property name="rootIsDecorated" > + <bool>false</bool> + </property> + <property name="uniformRowHeights" > + <bool>true</bool> + </property> + <property name="itemsExpandable" > + <bool>false</bool> + </property> + <column> + <property name="text" > + <string>Tick</string> + </property> + </column> + <column> + <property name="text" > + <string>Time</string> + </property> + </column> + <column> + <property name="text" > + <string>Len</string> + </property> + </column> + <column> + <property name="text" > + <string>Name</string> + </property> + </column> + </widget> + </item> + <item> + <layout class="QHBoxLayout" > + <property name="margin" > + <number>0</number> + </property> + <property name="spacing" > + <number>6</number> + </property> + <item> + <widget class="QToolButton" name="deleteButton" > + <property name="text" > + <string>Delete</string> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="insertButton" > + <property name="text" > + <string>Insert</string> + </property> + </widget> + </item> + <item> + <spacer> + <property name="orientation" > + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" > + <size> + <width>231</width> + <height>29</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + </layout> + </widget> + <resources/> + <connections/> +</ui> |