Sat, 26 Jun 2010 19:26:54 +0200
Corrected a few things in the new symbols widget.
--- 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)
--- 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">