Corrected a few things in the new symbols widget.

Sat, 26 Jun 2010 19:26:54 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 26 Jun 2010 19:26:54 +0200
changeset 367
e66ebdb3b6a2
parent 366
58f2122a5d6a
child 369
64d423a83450

Corrected a few things in the new symbols widget.

APIs/Python3/eric5.api file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
Documentation/Source/eric5.UI.SymbolsWidget.html file | annotate | diff | comparison | revisions
UI/SymbolsWidget.py file | annotate | diff | comparison | revisions
UI/SymbolsWidget.ui file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric5.api	Sat Jun 26 18:50:41 2010 +0200
+++ b/APIs/Python3/eric5.api	Sat Jun 26 19:26:54 2010 +0200
@@ -5474,14 +5474,17 @@
 eric5.UI.SplashScreen.SplashScreen?1()
 eric5.UI.SymbolsWidget.SymbolsModel.columnCount?4(parent)
 eric5.UI.SymbolsWidget.SymbolsModel.data?4(index, role = Qt.DisplayRole)
+eric5.UI.SymbolsWidget.SymbolsModel.getTableBoundaries?4(index)
+eric5.UI.SymbolsWidget.SymbolsModel.getTableIndex?4()
+eric5.UI.SymbolsWidget.SymbolsModel.getTableNames?4()
 eric5.UI.SymbolsWidget.SymbolsModel.headerData?4(section, orientation, role = Qt.DisplayRole)
 eric5.UI.SymbolsWidget.SymbolsModel.rowCount?4(parent)
-eric5.UI.SymbolsWidget.SymbolsModel.setUnicode?4(u)
+eric5.UI.SymbolsWidget.SymbolsModel.selectTable?4(index)
 eric5.UI.SymbolsWidget.SymbolsModel?1(parent = None)
 eric5.UI.SymbolsWidget.SymbolsWidget.insertSymbol?7
 eric5.UI.SymbolsWidget.SymbolsWidget.on_symbolSpinBox_editingFinished?4()
 eric5.UI.SymbolsWidget.SymbolsWidget.on_symbolsTable_activated?4(index)
-eric5.UI.SymbolsWidget.SymbolsWidget.on_unicodeButton_toggled?4(checked)
+eric5.UI.SymbolsWidget.SymbolsWidget.on_tableCombo_currentIndexChanged?4(index)
 eric5.UI.SymbolsWidget.SymbolsWidget?1(parent = None)
 eric5.UI.UserInterface.Redirector.flush?4()
 eric5.UI.UserInterface.Redirector.write?4(s)
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Sat Jun 26 18:50:41 2010 +0200
+++ b/Documentation/Help/source.qhp	Sat Jun 26 19:26:54 2010 +0200
@@ -3768,13 +3768,17 @@
       <keyword name="SymbolsModel.__isSymbol" id="SymbolsModel.__isSymbol" ref="eric5.UI.SymbolsWidget.html#SymbolsModel.__isSymbol" />
       <keyword name="SymbolsModel.columnCount" id="SymbolsModel.columnCount" ref="eric5.UI.SymbolsWidget.html#SymbolsModel.columnCount" />
       <keyword name="SymbolsModel.data" id="SymbolsModel.data" ref="eric5.UI.SymbolsWidget.html#SymbolsModel.data" />
+      <keyword name="SymbolsModel.getTableBoundaries" id="SymbolsModel.getTableBoundaries" ref="eric5.UI.SymbolsWidget.html#SymbolsModel.getTableBoundaries" />
+      <keyword name="SymbolsModel.getTableIndex" id="SymbolsModel.getTableIndex" ref="eric5.UI.SymbolsWidget.html#SymbolsModel.getTableIndex" />
+      <keyword name="SymbolsModel.getTableNames" id="SymbolsModel.getTableNames" ref="eric5.UI.SymbolsWidget.html#SymbolsModel.getTableNames" />
       <keyword name="SymbolsModel.headerData" id="SymbolsModel.headerData" ref="eric5.UI.SymbolsWidget.html#SymbolsModel.headerData" />
       <keyword name="SymbolsModel.rowCount" id="SymbolsModel.rowCount" ref="eric5.UI.SymbolsWidget.html#SymbolsModel.rowCount" />
-      <keyword name="SymbolsModel.setUnicode" id="SymbolsModel.setUnicode" ref="eric5.UI.SymbolsWidget.html#SymbolsModel.setUnicode" />
+      <keyword name="SymbolsModel.selectTable" id="SymbolsModel.selectTable" ref="eric5.UI.SymbolsWidget.html#SymbolsModel.selectTable" />
       <keyword name="SymbolsWidget (Constructor)" id="SymbolsWidget (Constructor)" ref="eric5.UI.SymbolsWidget.html#SymbolsWidget.__init__" />
+      <keyword name="SymbolsWidget.__currentRowChanged" id="SymbolsWidget.__currentRowChanged" ref="eric5.UI.SymbolsWidget.html#SymbolsWidget.__currentRowChanged" />
       <keyword name="SymbolsWidget.on_symbolSpinBox_editingFinished" id="SymbolsWidget.on_symbolSpinBox_editingFinished" ref="eric5.UI.SymbolsWidget.html#SymbolsWidget.on_symbolSpinBox_editingFinished" />
       <keyword name="SymbolsWidget.on_symbolsTable_activated" id="SymbolsWidget.on_symbolsTable_activated" ref="eric5.UI.SymbolsWidget.html#SymbolsWidget.on_symbolsTable_activated" />
-      <keyword name="SymbolsWidget.on_unicodeButton_toggled" id="SymbolsWidget.on_unicodeButton_toggled" ref="eric5.UI.SymbolsWidget.html#SymbolsWidget.on_unicodeButton_toggled" />
+      <keyword name="SymbolsWidget.on_tableCombo_currentIndexChanged" id="SymbolsWidget.on_tableCombo_currentIndexChanged" ref="eric5.UI.SymbolsWidget.html#SymbolsWidget.on_tableCombo_currentIndexChanged" />
       <keyword name="FindFileNameDialog (Module)" id="FindFileNameDialog (Module)" ref="eric5.UI.FindFileNameDialog.html" />
       <keyword name="FindFileNameDialog" id="FindFileNameDialog" ref="eric5.UI.FindFileNameDialog.html#FindFileNameDialog" />
       <keyword name="FindFileNameDialog (Constructor)" id="FindFileNameDialog (Constructor)" ref="eric5.UI.FindFileNameDialog.html#FindFileNameDialog.__init__" />
--- a/Documentation/Source/eric5.UI.SymbolsWidget.html	Sat Jun 26 18:50:41 2010 +0200
+++ b/Documentation/Source/eric5.UI.SymbolsWidget.html	Sat Jun 26 19:26:54 2010 +0200
@@ -81,14 +81,23 @@
 <td><a href="#SymbolsModel.data">data</a></td>
 <td>Public method to get data from the model.</td>
 </tr><tr>
+<td><a href="#SymbolsModel.getTableBoundaries">getTableBoundaries</a></td>
+<td>Public method to get the first and last character position of the given table.</td>
+</tr><tr>
+<td><a href="#SymbolsModel.getTableIndex">getTableIndex</a></td>
+<td>Private method to get the current table index.</td>
+</tr><tr>
+<td><a href="#SymbolsModel.getTableNames">getTableNames</a></td>
+<td>Public method to get a list of table names.</td>
+</tr><tr>
 <td><a href="#SymbolsModel.headerData">headerData</a></td>
 <td>Public method to get header data from the model.</td>
 </tr><tr>
 <td><a href="#SymbolsModel.rowCount">rowCount</a></td>
 <td>Public method to get the number of rows of the model.</td>
 </tr><tr>
-<td><a href="#SymbolsModel.setUnicode">setUnicode</a></td>
-<td>Public method to set the mode of the model.</td>
+<td><a href="#SymbolsModel.selectTable">selectTable</a></td>
+<td>Public method to select the shown character table.</td>
 </tr>
 </table>
 <a NAME="SymbolsModel.__init__" ID="SymbolsModel.__init__"></a>
@@ -209,6 +218,42 @@
 <dd>
 requested data
 </dd>
+</dl><a NAME="SymbolsModel.getTableBoundaries" ID="SymbolsModel.getTableBoundaries"></a>
+<h4>SymbolsModel.getTableBoundaries</h4>
+<b>getTableBoundaries</b>(<i>index</i>)
+<p>
+        Public method to get the first and last character position
+        of the given table.
+</p><dl>
+<dt><i>index</i></dt>
+<dd>
+index of the character table (integer)
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+first and last character position (integer, integer)
+</dd>
+</dl><a NAME="SymbolsModel.getTableIndex" ID="SymbolsModel.getTableIndex"></a>
+<h4>SymbolsModel.getTableIndex</h4>
+<b>getTableIndex</b>(<i></i>)
+<p>
+        Private method to get the current table index.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+current table index (integer)
+</dd>
+</dl><a NAME="SymbolsModel.getTableNames" ID="SymbolsModel.getTableNames"></a>
+<h4>SymbolsModel.getTableNames</h4>
+<b>getTableNames</b>(<i></i>)
+<p>
+        Public method to get a list of table names.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+list of table names (list of strings)
+</dd>
 </dl><a NAME="SymbolsModel.headerData" ID="SymbolsModel.headerData"></a>
 <h4>SymbolsModel.headerData</h4>
 <b>headerData</b>(<i>section, orientation, role = Qt.DisplayRole</i>)
@@ -245,15 +290,15 @@
 <dd>
 number of columns (integer)
 </dd>
-</dl><a NAME="SymbolsModel.setUnicode" ID="SymbolsModel.setUnicode"></a>
-<h4>SymbolsModel.setUnicode</h4>
-<b>setUnicode</b>(<i>u</i>)
+</dl><a NAME="SymbolsModel.selectTable" ID="SymbolsModel.selectTable"></a>
+<h4>SymbolsModel.selectTable</h4>
+<b>selectTable</b>(<i>index</i>)
 <p>
-        Public method to set the mode of the model.
+        Public method to select the shown character table.
 </p><dl>
-<dt><i>u</i></dt>
+<dt><i>index</i></dt>
 <dd>
-flag indicating unicode mode (boolean)
+index of the character table (integer)
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
@@ -281,14 +326,17 @@
 <td><a href="#SymbolsWidget.__init__">SymbolsWidget</a></td>
 <td>Constructor</td>
 </tr><tr>
+<td><a href="#SymbolsWidget.__currentRowChanged">__currentRowChanged</a></td>
+<td>Private slot recording the currently selected row.</td>
+</tr><tr>
 <td><a href="#SymbolsWidget.on_symbolSpinBox_editingFinished">on_symbolSpinBox_editingFinished</a></td>
 <td>Private slot to move the table to the entered symbol id.</td>
 </tr><tr>
 <td><a href="#SymbolsWidget.on_symbolsTable_activated">on_symbolsTable_activated</a></td>
 <td>Private slot to signal the selection of a symbol.</td>
 </tr><tr>
-<td><a href="#SymbolsWidget.on_unicodeButton_toggled">on_unicodeButton_toggled</a></td>
-<td>Private slot to switch unicode mode.</td>
+<td><a href="#SymbolsWidget.on_tableCombo_currentIndexChanged">on_tableCombo_currentIndexChanged</a></td>
+<td>Private slot to select the current character table.</td>
 </tr>
 </table>
 <a NAME="SymbolsWidget.__init__" ID="SymbolsWidget.__init__"></a>
@@ -301,6 +349,19 @@
 <dd>
 reference to the parent widget (QWidget)
 </dd>
+</dl><a NAME="SymbolsWidget.__currentRowChanged" ID="SymbolsWidget.__currentRowChanged"></a>
+<h4>SymbolsWidget.__currentRowChanged</h4>
+<b>__currentRowChanged</b>(<i>current, previous</i>)
+<p>
+        Private slot recording the currently selected row.
+</p><dl>
+<dt><i>current</i></dt>
+<dd>
+current index (QModelIndex)
+</dd><dt><i>previous</i></dt>
+<dd>
+previous current index (QModelIndex)
+</dd>
 </dl><a NAME="SymbolsWidget.on_symbolSpinBox_editingFinished" ID="SymbolsWidget.on_symbolSpinBox_editingFinished"></a>
 <h4>SymbolsWidget.on_symbolSpinBox_editingFinished</h4>
 <b>on_symbolSpinBox_editingFinished</b>(<i></i>)
@@ -316,15 +377,15 @@
 <dd>
 index of the selected symbol (QModelIndex)
 </dd>
-</dl><a NAME="SymbolsWidget.on_unicodeButton_toggled" ID="SymbolsWidget.on_unicodeButton_toggled"></a>
-<h4>SymbolsWidget.on_unicodeButton_toggled</h4>
-<b>on_unicodeButton_toggled</b>(<i>checked</i>)
+</dl><a NAME="SymbolsWidget.on_tableCombo_currentIndexChanged" ID="SymbolsWidget.on_tableCombo_currentIndexChanged"></a>
+<h4>SymbolsWidget.on_tableCombo_currentIndexChanged</h4>
+<b>on_tableCombo_currentIndexChanged</b>(<i>index</i>)
 <p>
-        Private slot to switch unicode mode.
+        Private slot to select the current character table.
 </p><dl>
-<dt><i>checked</i></dt>
+<dt><i>index</i></dt>
 <dd>
-flag indicating that the button is pressed (boolean)
+index of the character table (integer)
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
--- a/UI/SymbolsWidget.py	Sat Jun 26 18:50:41 2010 +0200
+++ b/UI/SymbolsWidget.py	Sat Jun 26 19:26:54 2010 +0200
@@ -163,6 +163,14 @@
         """
         return self.__tables[index][0], self.__tables[index][1]
     
+    def getTableIndex(self):
+        """
+        Private method to get the current table index.
+        
+        @return current table index (integer)
+        """
+        return self.__currentTableIndex
+    
     def selectTable(self, index):
         """
         Public method to select the shown character table.
@@ -345,7 +353,7 @@
             int(Preferences.Prefs.settings.value("Symbols/Top", 0)), 
             0)
         self.symbolsTable.scrollTo(index, QAbstractItemView.PositionAtTop)
-        self.symbolsTable.selectionModel().select(index, 
+        self.symbolsTable.selectionModel().setCurrentIndex(index, 
             QItemSelectionModel.SelectCurrent | QItemSelectionModel.Rows)
     
     @pyqtSlot(QModelIndex)
@@ -365,9 +373,11 @@
         Private slot to move the table to the entered symbol id.
         """
         id = self.symbolSpinBox.value()
-        self.symbolsTable.selectRow(id)
+        first, last = self.__model.getTableBoundaries(self.__model.getTableIndex())
+        row = id - first
+        self.symbolsTable.selectRow(row)
         self.symbolsTable.scrollTo(
-            self.__model.index(id, 0), QAbstractItemView.PositionAtCenter)
+            self.__model.index(row, 0), QAbstractItemView.PositionAtCenter)
     
     @pyqtSlot(int)
     def on_tableCombo_currentIndexChanged(self, index):
--- a/UI/SymbolsWidget.ui	Sat Jun 26 18:50:41 2010 +0200
+++ b/UI/SymbolsWidget.ui	Sat Jun 26 19:26:54 2010 +0200
@@ -14,32 +14,30 @@
    <string>Symbols</string>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
-   <property name="margin">
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>4</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
     <number>0</number>
    </property>
    <item>
-    <layout class="QHBoxLayout" name="horizontalLayout">
-     <item>
-      <widget class="QLabel" name="label_2">
-       <property name="text">
-        <string>Table:</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QComboBox" name="tableCombo">
-       <property name="sizePolicy">
-        <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-         <horstretch>0</horstretch>
-         <verstretch>0</verstretch>
-        </sizepolicy>
-       </property>
-       <property name="toolTip">
-        <string>Select the table to be shown</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
+    <widget class="QComboBox" name="tableCombo">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="toolTip">
+      <string>Select the table to be shown</string>
+     </property>
+    </widget>
    </item>
    <item>
     <widget class="QTableView" name="symbolsTable">

eric ide

mercurial