Commit Graph

23 Commits

Author SHA1 Message Date
André Pönitz
83b326d204 avoid evalutation of lyxerr arguments unless really needed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17675 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-01 10:09:49 +00:00
Abdelrazak Younes
61dde5d797 Cleanup of the Toc model and controller: The objective is to let the View (TocWidget) decide which kind of list it want to show. The type given by InsetCommandParam() (as read by the controller (ControlToc) then just becomes a hint to the View. Most of the commit is about getting rid of the controller maintained list of types.
* TocBackend
  - addType(), types_, types(): deleted.

* ControlToc
  - tocs(): new
  - selectedType(): access to selected_type_
  - initialiseParams(): transfer code from QToc::update() and look for selected type.
  - getTypes(), getContents(): deleted

* QToc: do not maintain current type. Get the info from the View.
  - setTocModel(): deleted

* TocWidget: always pass the currently selected type to the model/controller.
  - setTocModel(): new slot.
  - updateGui(): transfer code to setTocModel().


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17455 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-16 14:14:55 +00:00
Abdelrazak Younes
566d80d064 add some safeguards (while investigating bug 3152).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17421 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-12 17:03:42 +00:00
Abdelrazak Younes
cb81965b1e * ControlToc:
- initialiseParams(): overload ControlCommand::initialiseParams() so that we can update the model at this point (QToc is the controller _and_ the model).
  - update(): new 
  - updateBackend(): new protected method to update the TocBackend (called for the "Update" button).

* QToc:
  - is now a QObject
  - modelReset: new Qt signal to indicate a model reset to associated dialog(s).
  - QToc(): avoid the duplicate update() call that will be done in the show command anyway.

* Dialogs.C
  - use new TocWidget in a DockView.

* TocWidget.[Ch]: renamed from QTocDialog. This striped down widget is only a widget that connects to the 'QToc' model/controller.

* DockView.h: new template class that encapsulates a given Widget inside a DockWidget and presents a Dialog::View interface.

* QTocUi.ui:
  - now is a simple Widget.
  - rearrange the buttons a bit
  - get rid of the unneeded close button.
  - modify the shortcut to "Promote" to 'r' because of a clash with "Alt-p" number (we really need real, always valid, shortcuts for all outline action!)




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17416 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-12 14:23:44 +00:00
Abdelrazak Younes
c0fad86431 Fix bug 3177:
http://bugzilla.lyx.org/show_bug.cgi?id=3177


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16949 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-30 13:54:28 +00:00
Peter Kümmel
e2d14f9023 coding style: fix crash on buffer-switching (2 tabs) + toc-clicking
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16770 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-19 22:17:01 +00:00
Peter Kümmel
2d0838650c fix crash on buffer-switching (2 tabs) + toc-clicking
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16769 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-19 22:16:26 +00:00
Peter Kümmel
ff93befafb undo partly 16441
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16511 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-04 19:44:49 +00:00
Michael Schmitt
ac88413021 * src/frontends/qt4/QToc.C: fix formatting
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16484 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-03 22:03:26 +00:00
Peter Kümmel
1e74724606 add more lyxerr output, don't use a reference (maybe stdlib-debug has problems with it)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16441 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-30 14:50:45 +00:00
Abdelrazak Younes
10dd2cbdcb Toc Slider fixes from Ugras Baran.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16045 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-25 22:16:22 +00:00
Abdelrazak Younes
a6933a9b4e Bug fixes from Ugras Baran:
Following patch corrects some misbehavior in TOC dialog:

- When clicking on Toc insets, dialog switches to correct list.
- cursor goes to correct entry when clicked..
- some other fixes..


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15949 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-16 12:37:55 +00:00
Abdelrazak Younes
479e9054db * Buffer
- new pimpled TocBackend member and associated accessors.

* toc.[Ch]: delete all toc related methods except outline.

* TocBackend:
  - goTo(): deleted, this gets rid of the LyXView dependency
  - made all accessors const.

* ControlToc: 
  - rework the controller to work exclusively with TocBackend.
  - goTo(): now call LyXView::dispatch() directly

all other files: update with the TocBackend or ControlToc API changes.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15852 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-11 00:35:14 +00:00
Abdelrazak Younes
f23082917e - Fix a crash when IN is clicked multiple time in a single line document.
- Polish the behavior when the TOC is empty (clearing the button and the TOC tree)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15373 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-19 14:35:06 +00:00
Abdelrazak Younes
0823fb6f86 Fix Toc dialog crash when TOC is empty.
* QToc::update(): return early if no TOC type.

* QTocDialog::updateGui(): return early of the Type model is empty and disable the outline buttons.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15346 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-16 08:51:55 +00:00
Georg Baum
34b7650cbb Introduce wide streams. This fixes the remaining problems of plain text
export (e.g. the ToC) and the navigate menu.

	* src/insets/insetbase.h
	(InsetBase::plaintext): output to a docstream
	(InsetBase::textString): ditto

	* src/mathed/TextPainter.h
	(TextPainter::show): ditto

	* src/support/docstream.[Ch] New file and string streams for
	docstring. The file streams convert to UTF8 on the fly.

	* many more files: Adjust to the changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15301 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 19:40:50 +00:00
Abdelrazak Younes
ff83a99e94 * QToc.[Ch], QTocDialog.[Ch]: adaptation to ControlToc changes in r13772
* TocModel.[Ch]: small cleanup + eol-style set to native


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13774 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-28 09:16:48 +00:00
Abdelrazak Younes
8c0bd3a77b * TocBackend.[Ch]: new files defining class TocBackend. This class contains adapted code from former toc.C
* toc.[Ch]:
    - rewritten to take advantage of new TocBackend class. The toc
    cache is implemented as a static variable:
    static map<Buffer const *, lyx::TocBackend> toc_backend_;

* buffer_funcs.C:
    updateLabels(Buffer const & buf) now calls
    "lyx::toc::updateToc(buf);"

* pariterator.h: added default constructor
    ParConstIterator(): DocIterator() {}

* insetfloat.C: added pit parameter to TocItem construction

* insetwrap.C: added pit parameter to TocItem construction

* MenuBackend.C: use a const ref instead of a copy of TocList

* ControlToc.[Ch]: optimisation of the API by using const reference instead of copy.

* qt4/TocPanel.[Ch]:
    - optimisation of the API by using const reference instead of
    copy
    - directly use of TocBackend::TocIterator instead of identification by paragraph contents.

* qt4/QToc.C:
    - optimisation of the API by using const reference instead of
    copy
    - makes use of TocBackend::Item::uid()

* qt2/QToc.C:
    - use TocItem::depth() and TocItem::str() instead of public member access.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13713 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-22 18:48:28 +00:00
Abdelrazak Younes
fc57e5e4ad Two ways toc navigation:
* Toc.[Ch]: new function getCurrentTocItem()
* ControlToc.[Ch]: new function getCurrentTocItem()
* QToc.[Ch]: new function getCurrentIndex()
* QTocDialog.C
  - QTocDialog::update() calls QToc::getCurrentIndex()



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13695 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-19 14:48:22 +00:00
Abdelrazak Younes
9db70c5346 * ControlToc.[Ch]
- bool ControlToc::canOutline(): new method to test if outline is possible.
* TocModel: new class
* QToc is now the controller (inheriting ControlToc directly) and the model (using TocModel)
* QTocDialog is now only the view (inheriting Dialogs::View directly)
* Dialogs.C: updated toc controller and view correspondingly



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13692 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-18 09:57:47 +00:00
Abdelrazak Younes
107356b439 Transfered closePB handlling (GUI code) from QToc.C to QTocDialog.C
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13641 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-11 09:56:56 +00:00
Abdelrazak Younes
5a4d33d97e Add outlining functionality to the Qt4 TOC dialog.
The Toc dialog is not finished yet, there's some clean-up to do especially in select_adapdator which doesn't seem to work. This makes lyx crash when clicking on the Up, Down, In or Out buttons.

    * frontends/qt4/QTocDialog.[Ch]: add automatic slots

    * frontends/qt4/QTocDialog.[Ch]: add "enableButtons(bool)"

    * frontends/qt4/ui/QTocUi.ui: add pushbuttons

    * frontends/qt4/QToc.[Ch]: add move* methods.

The following Qt4 equivalent changes to revision r13521 are not done yet:
    * frontends/qt2/QToc.[Ch]: add move* method.
    (QToc::updateToc):
    (QToc::select): add code for TOC window positioning, and
    outlining methods



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13530 a592a061-630c-0410-9148-cb99ea01b6c8
2006-03-29 16:57:47 +00:00
Lars Gullik Bjønnes
12e5a52b92 Added initial qt4 work by Abdelrazak Younes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13294 a592a061-630c-0410-9148-cb99ea01b6c8
2006-03-05 17:24:44 +00:00