summaryrefslogtreecommitdiffstats
path: root/kommander/examples/current/tableselect.kmdr
diff options
context:
space:
mode:
Diffstat (limited to 'kommander/examples/current/tableselect.kmdr')
-rwxr-xr-xkommander/examples/current/tableselect.kmdr502
1 files changed, 502 insertions, 0 deletions
diff --git a/kommander/examples/current/tableselect.kmdr b/kommander/examples/current/tableselect.kmdr
new file mode 100755
index 00000000..09dd6cd8
--- /dev/null
+++ b/kommander/examples/current/tableselect.kmdr
@@ -0,0 +1,502 @@
+<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
+<class>Form1</class>
+<widget class="Dialog">
+ <property name="name">
+ <cstring>Form1</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>838</width>
+ <height>561</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Table new feature demo</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string></string>
+ <string>for i = 0 to 6 do
+ for j = 0 to 6 do
+ Table1.setCellText(i, j, str_upper(i) + str_lower(j))
+ end
+end
+PopupMenu1.insertMenuItem("Copy", "ExecButton85", 1)
+PopupMenu1.insertMenuItem("Paste", "ExecButton87", 2)
+PopupMenu1.insertMenuItem("About", "PopupMenu1", 3)
+
+AboutDialog9.initialize("Table Selection Demo", "help.png", "0.1", "(c) 2008")
+AboutDialog9.setDescription("This demonstrated using the new multi-select ability
+of the table. The spinboxes offer how it might have
+been done before. Now block copy and paste can be done.")
+AboutDialog9.addAuthor("Eric Laffoon", "Stop sleeping", "eric@kdewebdev.org", "http://kittyhooch.com")
+AboutDialog9.addAuthor("Andras Mantia", "Make Eric stop asking for it to make coffee", "amantia@kdewebdev.org", "http://kdewebdev.org")
+AboutDialog9.setLicense("GPL_V2")
+AboutDialog9.setBugAddress("eric@kdewebdev.org")</string>
+ <string></string>
+ </stringlist>
+ </property>
+ <property name="useInternalParser">
+ <bool>true</bool>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QLayoutWidget" row="1" column="3" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>Layout2</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="SpinBoxInt" row="0" column="3">
+ <property name="name">
+ <cstring>SpinBoxInt4</cstring>
+ </property>
+ <property name="maxValue">
+ <number>6</number>
+ </property>
+ </widget>
+ <widget class="Label" row="0" column="2">
+ <property name="name">
+ <cstring>Label4</cstring>
+ </property>
+ <property name="text">
+ <string>End row:</string>
+ </property>
+ </widget>
+ <widget class="SpinBoxInt" row="0" column="1">
+ <property name="name">
+ <cstring>SpinBoxInt3</cstring>
+ </property>
+ <property name="maxValue">
+ <number>6</number>
+ </property>
+ </widget>
+ <widget class="Label" row="0" column="0">
+ <property name="name">
+ <cstring>Label3</cstring>
+ </property>
+ <property name="text">
+ <string>End col:</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QLayoutWidget" row="1" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>Layout1</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="Label" row="0" column="2">
+ <property name="name">
+ <cstring>Label2</cstring>
+ </property>
+ <property name="text">
+ <string>Start row:</string>
+ </property>
+ </widget>
+ <widget class="SpinBoxInt" row="0" column="3">
+ <property name="name">
+ <cstring>SpinBoxInt2</cstring>
+ </property>
+ <property name="maxValue">
+ <number>6</number>
+ </property>
+ </widget>
+ <widget class="SpinBoxInt" row="0" column="1">
+ <property name="name">
+ <cstring>SpinBoxInt1</cstring>
+ </property>
+ <property name="maxValue">
+ <number>6</number>
+ </property>
+ </widget>
+ <widget class="Label" row="0" column="0">
+ <property name="name">
+ <cstring>Label1</cstring>
+ </property>
+ <property name="text">
+ <string>Start col:</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="ScriptObject" row="1" column="2">
+ <property name="name">
+ <cstring>ScriptObject88</cstring>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>selection = Table1.selection
+topRow = str_section(selection, ",", 0)
+leftCol = str_section(selection, ",", 1)
+bottomRow = str_section(selection, ",", 2)
+rightCol = str_section(selection, ",", 3)
+result = 0
+for i = topRow to bottomRow do
+ for j = leftCol to rightCol do
+ result = result + str_todouble(Table1.cellText(i, j))
+ end
+end
+StatusBar7.setText("Selection total: "+result)</string>
+ </stringlist>
+ </property>
+ </widget>
+ <widget class="TextBrowser" row="2" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>TextBrowser1</cstring>
+ </property>
+ </widget>
+ <widget class="ExecButton" row="3" column="0">
+ <property name="name">
+ <cstring>ExecButton1</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Get range</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>TextBrowser1.clear
+for i = SpinBoxInt2.text to SpinBoxInt4.text do
+ for j = SpinBoxInt1.text to SpinBoxInt3.text do
+ result = result + "Cell value(" + i + ", " + j +") = " +Table1.cellText(i, j) + "\n"
+ end
+end
+TextBrowser1.setText(result)
+
+</string>
+ </stringlist>
+ </property>
+ </widget>
+ <widget class="ExecButton" row="3" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>ExecButton2</cstring>
+ </property>
+ <property name="text">
+ <string>Get range &amp;from selection</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>selection = Table1.selection
+topRow = str_section(selection, ",", 0)
+leftCol = str_section(selection, ",", 1)
+bottomRow = str_section(selection, ",", 2)
+rightCol = str_section(selection, ",", 3)
+TextBrowser1.clear
+for i = topRow to bottomRow do
+ for j = leftCol to rightCol do
+ result = result + "Cell value(" + i + ", " + j +") = " +Table1.cellText(i, j) + "\n"
+ end
+end
+TextBrowser1.setText(result)
+</string>
+ </stringlist>
+ </property>
+ </widget>
+ <widget class="StatusBar" row="4" column="0" rowspan="1" colspan="7">
+ <property name="name">
+ <cstring>StatusBar7</cstring>
+ </property>
+ </widget>
+ <widget class="Table" row="0" column="0" rowspan="1" colspan="7">
+ <column>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>1</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>2</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>3</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>4</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>5</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>6</string>
+ </property>
+ </column>
+ <row>
+ <property name="text">
+ <string>0</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>1</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>2</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>3</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>4</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>5</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>6</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>7</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>8</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>9</string>
+ </property>
+ </row>
+ <row>
+ <property name="text">
+ <string>10</string>
+ </property>
+ </row>
+ <property name="name">
+ <cstring>Table1</cstring>
+ </property>
+ <property name="numRows">
+ <number>11</number>
+ </property>
+ <property name="numCols">
+ <number>7</number>
+ </property>
+ <property name="selectionMode">
+ <enum>Single</enum>
+ </property>
+ <property name="populationText">
+ <string></string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string></string>
+ </stringlist>
+ </property>
+ </widget>
+ <widget class="ExecButton" row="1" column="5">
+ <property name="name">
+ <cstring>ExecButton85</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>4</hsizetype>
+ <vsizetype>4</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="pixmap">
+ <pixmap>image0</pixmap>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>//_CPrange = rows cols
+//_CPdata = a[0] = R0C0 - R0Cx for each row
+range = Table1.selection
+startrow = str_section(range, ",", 0)
+startcol = str_section(range, ",", 1)
+endrow = str_section(range, ",", 2)
+endcol = str_section(range, ",", 3)
+
+array_clear("_CPdata")
+_CPrange[0] = str_toint(endrow)-str_toint(startrow)
+_CPrange[1] = str_toint(endcol)-str_toint(startcol)
+//debug("range size: "+_CPrange[0]+" - "+_CPrange[1])
+c = 0
+for i=startrow to endrow do
+ row = ""
+ for k = startcol to endcol do
+ if k &gt; startcol then
+ row = row + "\t"
+ endif
+ row = row + Table1.cellText(i, k)
+ end
+ _CPdata[c] = row
+ c = c + 1
+ //debug("i="+i+" k="+k+" c="+c+" row="+row)
+end
+//debug("end copy")
+</string>
+ </stringlist>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>copy range</string>
+ </property>
+ </widget>
+ <widget class="ExecButton" row="1" column="6">
+ <property name="name">
+ <cstring>ExecButton87</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>4</hsizetype>
+ <vsizetype>4</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="pixmap">
+ <pixmap>image1</pixmap>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>//_CPrange = "rows cols"
+//_CPdata = a[0] = R0C0 - R0Cx for each row
+range = Table1.selection
+startrow = str_section(range, ",", 0)
+startcol = str_section(range, ",", 1)
+endrow = str_section(range, ",", 2)
+endcol = str_section(range, ",", 3)
+
+if startrow == endrow &amp;&amp; startcol == endcol then
+ endrow = str_toint(startrow) + str_toint(_CPrange[0])
+ endcol = str_toint(startcol) + str_toint(_CPrange[1])
+endif
+//debug("endrow="+endrow+" endcol="+endcol)
+c = 0
+r = 0
+for i=startrow to endrow do
+ //debug(i+"-"+_CPdata[c])
+ for k = startcol to endcol do
+ if _CPrange[0] == 0 &amp;&amp; _CPrange[1] == 0 then
+ val = _CPdata[0]
+ else
+ val = str_section(_CPdata[c], "\t", r)
+ endif
+ Table1.setCellText(i, k, val)
+ r = r + 1
+ //debug("r="+r)
+ end
+ c = c + 1
+ r = 0
+end
+//debug("end paste")
+</string>
+ </stringlist>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>paste range</string>
+ </property>
+ </widget>
+ <widget class="PopupMenu" row="3" column="4">
+ <property name="name">
+ <cstring>PopupMenu1</cstring>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>AboutDialog9.execute</string>
+ </stringlist>
+ </property>
+ </widget>
+ <widget class="AboutDialog" row="3" column="3">
+ <property name="name">
+ <cstring>AboutDialog9</cstring>
+ </property>
+ </widget>
+ </grid>
+</widget>
+<images>
+ <image name="image0">
+ <data format="XPM.GZ" length="1202">789c6dd24b4fc2401405e03dbfa2a13b62005b041be3c2172a46e3d2c4b89867799487501030fe77ef3d9d2134740e0bbe9cd09c696835828ff7d7a0d1aaad72918f54a086621934f47a3add7d7e5dffd6ea5114d0274e82f3fa59adde0c54f0369f19fe2ee87b28628a65ce98ca28a3bbcc1553b72997cc2518510433043b14c57c00bb147004f6289a790f263a31d83005a596059f0e8c99dfa0d1c674988fa0d5d65c30fb4cd3a660e4331851307203c6948439003b146c7e01bb148cdc8297143003130a36af4141c1bbba012505efca80f4b26c9bb90769b4c58d2c48c746cc05d3b629b8d1183ca7e0463b30a2e0461330a6f49873b043c10573f08282f616ec52d06ab04791cc1f30a180435050705f054a0aee7b072a0aee9b8286c394200efe45a13ba279748a464aa9b4b1a5ead0a4436bc391a86ad4d80a3a55cdc466d3594523d3f9e27bb9aa6c725bda78b46dbd296df44dfab3c8b6a58dbe51bbc5fea6b4d135e9ed646cf7a58daeb9cb7d73d8e81a9d4fe8717ee3fd437868f2f9cefd8637f61f9f7c93e6fe69d8b879eebb46b8e3376e071bd7f8e337662fa74db171bd1d9c34c5c6aaa6d8989d366ee3e96fc4d169d6ffae6aff9c383860</data>
+ </image>
+ <image name="image1">
+ <data format="XPM.GZ" length="2942">789c75964953dc481085effc8a0ee78d9848b754da2a26e680590c66c766194fcca1548b019bc5d080c131ff7db2f3154d771bf37cf9a4575999a527b5df2e0e4ef6b6078b6f176e476e74e607fed4dd0c16c3ddc5c5e33ffffef573e14d590ee45f51d483f2cd1f0b6ff647033fd8b9ba8c63a023016afbca9695f2c709d763e6a41cda605be55e39b6d176ca4b63eeaace7443e527e55aae14ca4e59fe1c98946d6733df2bbbaee950ff56b9efda0ef52f33f74e9be7af1346bfc763b6c3ba29757fda532e6a5b1ae5adcc0ef3d09a72d914a5557eca5c955ef9bbb269ea12e77396b93598af53ae9acea09f42b96e9cd17e382ab7b6755a8fbdb20cec82f295b26d6383f9ce955d9b1aed87d1afb7be6f94ff560e6d61c0fa7c5cdb3a83f5db63ee8bce985e7943b9ef82c17ee3874dbef25540ffebca8d1d1af4b792b9a9705fcfc777deb449b95596868253be56f69d2dc1cb605b19f08fcc2dead329d8fba0fdd117e5e863407f9b630e4391ee475a3f94a18ce8e744d90413352fa4e717ea50479cb7d60b8d2d4accdf284b6023f2abfb076917f7e9111cba88f3d4e71bac35f9bee63db8e0a2e691749ed0873eea79d383b20f3e223f9f9463e70be46d151c62443dcd771c8a701e3a6f2c4498ff4ed988506f57b912217f87cab52d0accbf0216e1f9d4ca4d6c12f2bfaf2cf92b500ff5e585c57dd6fea5dda6417ebf4f18fd7e00c72e613fcd57b436e0fd62d4b7d1265d4f9ab7e8a24b98ffbd72ef4c897c1e80639ff0bebe53f6ce96e8ff181c7dbeafdf9318fa26e7fd021c439e4ff31cc7dbe1f9dc82fb9c3f8ae01813def71be5e4db0a791982634a5a9fb47e1af6b541febe657615e65f078bb09f7e7f52e1e595523ecf1c2b3ccf0a2c425ef47b99cabeafb09fcb1c2ad423b02f2af4cf99fb0afd04b008df07ab6c4255e3bc2ec122dc2f95abe06abcdf37e0683ae461072cc2fb8a796b11bebf7b13c6facfca4d480df65b068b30afe63f75b16ee03f028b34bf8cfd6cec5b9cff2e58847c6b3e9213210f9abfd4a7618b7a9affe445b8aff94a21a616f557c1493ec8ca2673c87ecd9b3c6e8bf9f931b3ef90779f39663fce5bfff063f92ca689dccbd5694dfbb967cf212b72fa9d9fbff0299ff1397f15dfb7ac0bbee42bb97afa8aff9abff30ddff288efa634e27bb9fac0d7bff87ff0a3e8491cb35a92abef78f917ff0aaf8ad664c5acd6e4ea7b5effc5bfc11fe6b439a7ad19ff36efcc69339fd22eeff13e1fbcacc0ef1d7f9ad3b3ff908ff858fd275881df4bfe3ca717ff2e0fc5bf05657fc1e59c9efd46fc95f86b6eb89df83bb663490c881cf5d43ffbc9f321058a94e80b9d3efbe98ccee92b7da38b674dea4b4774c9077445d79819ffffa01bbaa5d18be097ea723e7447f7f4403fe871e27fa2257a37adb15fdc869629724d2bb262951e26fe357a3fabdccf2ead4bef1bf441566cd2fdc4bf45dbb352bfa11d391b394dda903d76a7fc7bb43f2bede74026cd7e99417698f83fd2273a9c96d6df1bfb734733fefd111dd1f1b4b4fea59cfcbad43fd67e66fcf312bf9cfbeffa79c5bff5bac4ffdf9f0bff0341cdbcc7</data>
+ </image>
+</images>
+<connections>
+ <connection>
+ <sender>Table1</sender>
+ <signal>selectionChanged()</signal>
+ <receiver>ScriptObject88</receiver>
+ <slot>execute()</slot>
+ </connection>
+ <connection>
+ <sender>Table1</sender>
+ <signal>contextMenuRequested(int,int)</signal>
+ <receiver>PopupMenu1</receiver>
+ <slot>popup(int,int)</slot>
+ </connection>
+</connections>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>