X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fui%2Fpreviewholder.h;h=046cdf7c7dfbef03c5707dc5c286796d80238530;hb=59dee01ed4509746c3a8ef0571124fb100bbcd1e;hp=532aa771f91966bb0b77a8969c23b9fb93f50a1d;hpb=1bdb42eddb21aee3dc7fb58ff67ce9b2ec482763;p=inkscape.git diff --git a/src/ui/previewholder.h b/src/ui/previewholder.h index 532aa771f..046cdf7c7 100644 --- a/src/ui/previewholder.h +++ b/src/ui/previewholder.h @@ -17,6 +17,7 @@ #include #include #include "previewfillable.h" +#include "../icon-size.h" namespace Inkscape { namespace UI { @@ -29,20 +30,35 @@ public: virtual void clear(); virtual void addPreview( Previewable* preview ); - virtual void setStyle(Gtk::BuiltinIconSize size, ViewType view); + virtual void freezeUpdates(); + virtual void thawUpdates(); + virtual void setStyle( Inkscape::IconSize size, ViewType view ); virtual void setOrientation( Gtk::AnchorType how ); - virtual Gtk::BuiltinIconSize getPreviewSize() const { return _baseSize; } + virtual int getColumnPref() const { return _prefCols; } + virtual void setColumnPref( int cols ); + virtual Inkscape::IconSize getPreviewSize() const { return _baseSize; } virtual ViewType getPreviewType() const { return _view; } + virtual void setWrap( bool b ); + virtual bool getWrap() const { return _wrap; } + +protected: + virtual void on_size_allocate( Gtk::Allocation& allocation ); + virtual void on_size_request( Gtk::Requisition* requisition ); + private: void rebuildUI(); + void calcGridSize( const Gtk::Widget* thing, int itemCount, int& width, int& height ); std::vector items; Gtk::Bin *_scroller; Gtk::Table *_insides; + int _prefCols; + bool _updatesFrozen; Gtk::AnchorType _anchor; - Gtk::BuiltinIconSize _baseSize; + Inkscape::IconSize _baseSize; ViewType _view; + bool _wrap; }; } //namespace UI