]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetfloatlist.C
ws changes only
[lyx.git] / src / insets / insetfloatlist.C
index c4abb64f39c3b3f7645e481b82ca14504f02323e..ce9c6327050def0688817f201e8d9fafec4d1de2 100644 (file)
@@ -13,7 +13,7 @@
 #include "insetfloatlist.h"
 
 #include "buffer.h"
-#include "BufferView.h"
+#include "bufferparams.h"
 #include "debug.h"
 #include "Floating.h"
 #include "FloatList.h"
 #include "lyxlex.h"
 #include "metricsinfo.h"
 #include "toc.h"
-#include "Lsstream.h"
 
 #include "support/lstrings.h"
 
-using namespace lyx::support;
+using lyx::support::bformat;
 
-using std::ostream;
 using std::endl;
+using std::string;
+using std::ostream;
 
 
 InsetFloatList::InsetFloatList()
@@ -54,7 +54,7 @@ InsetFloatList::~InsetFloatList()
 
 string const InsetFloatList::getScreenLabel(Buffer const & buf) const
 {
-       FloatList const & floats = buf.params.getLyXTextClass().floats();
+       FloatList const & floats = buf.params().getLyXTextClass().floats();
        FloatList::const_iterator it = floats[getCmdName()];
        if (it != floats.end())
                return _(it->second.listName());
@@ -77,7 +77,7 @@ void InsetFloatList::write(Buffer const &, ostream & os) const
 
 void InsetFloatList::read(Buffer const & buf, LyXLex & lex)
 {
-       FloatList const & floats = buf.params.getLyXTextClass().floats();
+       FloatList const & floats = buf.params().getLyXTextClass().floats();
        string token;
 
        if (lex.eatLine()) {
@@ -103,7 +103,10 @@ void InsetFloatList::read(Buffer const & buf, LyXLex & lex)
 void InsetFloatList::metrics(MetricsInfo & mi, Dimension & dim) const
 {
        InsetCommand::metrics(mi, dim);
-       center_indent_ = (mi.base.textwidth - dim.wid) / 2;
+       int center_indent = (mi.base.textwidth - dim.wid) / 2;
+    Box b(center_indent, center_indent + dim.wid, -dim.asc, dim.des);
+       button().setBox(b);
+
        dim.wid = mi.base.textwidth;
        dim_ = dim;
 }
@@ -111,16 +114,22 @@ void InsetFloatList::metrics(MetricsInfo & mi, Dimension & dim) const
 
 void InsetFloatList::draw(PainterInfo & pi, int x, int y) const
 {
-       InsetCommand::draw(pi, x + center_indent_, y);
+       InsetCommand::draw(pi, x + button().box().x1, y);
 }
 
 
 dispatch_result InsetFloatList::localDispatch(FuncRequest const & cmd)
 {
        switch (cmd.action) {
-               case LFUN_INSET_EDIT:
+               case LFUN_MOUSE_RELEASE:
+                       if (button().box().contains(cmd.x, cmd.y))
+                               InsetCommandMailer("toc", *this).showDialog(cmd.view());
+                       return DISPATCHED;
+
+               case LFUN_INSET_DIALOG_SHOW:
                        InsetCommandMailer("toc", *this).showDialog(cmd.view());
                        return DISPATCHED;
+
                default:
                        return InsetCommand::localDispatch(cmd);
        }
@@ -130,7 +139,7 @@ dispatch_result InsetFloatList::localDispatch(FuncRequest const & cmd)
 int InsetFloatList::latex(Buffer const & buf, ostream & os,
                          LatexRunParams const &) const
 {
-       FloatList const & floats = buf.params.getLyXTextClass().floats();
+       FloatList const & floats = buf.params().getLyXTextClass().floats();
        FloatList::const_iterator cit = floats[getCmdName()];
 
        if (cit != floats.end()) {