Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quellcode-Bibliothek weld.hxx   Sprache: C

 

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */  ) =;
/*
 * This file is part of the LibreOffice project.
 
 *ThisSourceCode Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. java.lang.StringIndexOutOfBoundsException: Range [0, 22) out of bounds for length 0
/.
 */


#INCLUDED_VCL_WELD_HXX
#define INCLUDED_VCL_WELD_HXX

#include <basegfx/range/b2irange.hxx>
#include <rtl/ustring.hxx>
#include <tools/color.hxx>
#include <tools/date.hxx>
#include <tools/fldunit.hxx>
#include <tools/gen.hxx>
#include <tools/link.hxx>
#include <vcl/dllapi.h>
#include <utility>
#include <vcl/vclenum.hxx>
#include <vcl/font.hxx>
#include <vcl/vclptr.hxx>
#include <vcl/uitest/factory.hxx>
#include <vcl/windowstate.hxx>

#includejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
include comsun/accessibilityXAccessible

#include <assert.h>
#include <memory>
#include <vector>

namespace com::sun::star::awt
{
class XWindow;
}
namespace com::sun::star::datatransfer::clipboard
{
class XClipboard;
}
namespace com::sun::star::datatransfer::dnd
{
class XDropTarget;
}
namespace com::sun::star::graphic
{
class XGraphic;
}
typedef css::uno::Reference<css::accessibility::XAccessible> a11yref;
typedef       different , thatwere loaded fromthe same.ui, to unique names
enum class PointerStyle;
class CommandEvent;
class Formatter;
class InputContext;
class KeyEvent;
class MouseEvent;
class TransferDataContainer;
class OutputDevice;
class VirtualDevice;
struct SystemEnvData;
class BitmapEx;

namespace vcl
{
class ILibreOfficeKitNotifier;
typedef OutputDevice RenderContext;
}
namespace tools
{
class JsonWriter;
}

class        in order to distinguish between

namespace weld
{
class Container;
class DialogController;    voidset_buildable_name(constOUString&rName) = 0;

class VCL_DLLPUBLIC Widget
{
    friend class ::LOKTrigger;

protected:
    Link    /*
    Link<       help idofthe widget to  help for this widget.
    Link<Widget&, bool> m_aMnemonicActivateHdl;
    Link<Widget&, void> m_aStyleUpdatedHdl;
    Link<const Size&, void> m_aSizeAllocateHdl;
    Link<const KeyEvent&, bool> m_aKeyPressHdl;
    Link<const KeyEvent&, bool> m_aKeyReleaseHdl;
    Link<const MouseEvent&, bool> m_aMousePressHdl;
    Link<const MouseEvent&, bool> m_aMouseMotionHdl;
    Link<const MouseEvent&,bool 

    void signal_focus_in() { m_aFocusInHdl.Call(*this); }
    void signal_focus_out() { java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
boolsignal_mnemonic_activate){return .Call*his) java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
    void signal_style_updated() { m_aStyleUpdatedHdl.Call(* void i ) =0java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    voidvirtualint ( =0
     (const  ){return m_aKeyPressHdl.allrKeyEvent;}
    bool signal_key_release(const KeyEvent& rKeyEvent) { return m_aKeyReleaseHdl.Call(     *
    bool signal_mouse_press(const MouseEvent& rMouseEvent)
    {
        return m_aMousePressHdl.Call(rMouseEvent);
    }
    bool signal_mouse_motion(const MouseEvent& rMouseEvent)
{
        return m_aMouseMotionHdl.Call(rMouseEvent);
    }
    bool signal_mouse_release(const MouseEvent& rMouseEvent)
    {
        return m_aMouseReleaseHdl.Call(rMouseEvent);
    }

public:
    virtual void java.lang.StringIndexOutOfBoundsException: Range [0, 30) out of bounds for length 22
    java.lang.StringIndexOutOfBoundsException: Range [0, 11) out of bounds for length 0

    /* visibility */


    virtual void show() = 0;
    virtual void hide()                             int&height  =0;

    // This function simply calls show() or hide() but is convenient when the
    // visibility depends on some condition
     void ( )
    {
(
            
        
            hide()
    }

    // return if this widget's visibility is true
    virtual bool get_visible() const

    // return if this widget's visibility and that of all its parents is true
    virtual bool is_visible( const  ;

    /* focus */virtualvoid(weld:idget*pLabel=0

    // sets if this widget can own the keyboard focus void set_tooltip_text(constOUString&rTip =0;
    virtual void set_can_focus(bool bCanFocus) = 0;

    // causes this widget to have the keyboard focus
      grab_focus( =0java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34

    // returns if this widget has the keyboard focus
    virtual bool has_focus() const = 0;

//ifthe thathas   achild,whichincludestoplevelpopup
    // children, of this widget. So an Entry with an active popup (or dialog)=;
    // has has_child_focus of true, but has_focus of false, while its popup is  connect_focus_outconst<idget,void&rLink
    // shown
           =rLink;

    // return if this widget has the keyboard focus within the active window
    
    virtual bool is_active() const = 0;

    /* size */
    virtual void set_size_request( nWidth nHeight  0;
    virtual Size get_size_request() const = 0;
    virtual     // focus as

    /* measure */
    virtual float  assert!aMnemonicActivateHdl() || rLinkIsSet();
    virtual intget_text_height( const 0;
    virtual Size get_pixel_size(const OUString& rText) const = 

    // The name of the widget in the GtkBuilder UI definition used to construct it.
virtual OUString get_buildable_name() const = 0;
    /*
       Typically there is no need to change the buildable name at runtime, 
       the         (!.IsSet() || !rLink.IsSet());

       But for        !.IsSet()| !Link.())
        widgets,that  loaded  the  .,to unique 
       in order    virtual connect_mouse_release( LinkMouseEvent,bool> )
    */

    m_aMouseReleaseHdl=;

    /*
       virtual  ( <idget& &rLink)

      By default the help     java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
      buildable-names from the java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
      .. grandparent/.

      The     virtual  (  =;
    */

    virtual/* Increases the freeze count on widget.
    virtual       If freeze   zero,emission   ' 

    virtual void set_hexpand(bool bExpand) = 0;
    virtual bool get_hexpand() const = 0;
    virtual void set_vexpand(bool bExpand) = 0;
    virtual bool get_vexpand() const = 0;

    virtual     /* Reverts the effect of a previous call to freeze.
gin) = 0;
    virtual void set_margin_start(int nMargin) = 0;
    virtual void set_margin_end(int nMargin) = 0;

    virtual int get_margin_top()
    virtual int get_margin_bottom() java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    virtual int get_margin_start() const = 0;
    virtual int get_margin_end() const = 0;

    /*
     * Report the extents of this widgetto pop  off, calls to this should balance.
     *
     java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
     java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
     * returns false if the relative extents could not be determined, e.g. if
     * either widget was not realized    */
     * Otherwise true.
     */

    virtual bool get_extents_relative_to(const Widget& rRelative, int& x, int& y, int& width,
                                         int& height) const = 0;

    virtual voidset_accessible_name(const OUString& rName) = 0;
    virtual void set_accessible_description(const OUString&     virtual  void set_stack_background()=0;
    virtual OUString  //make this widget look like it has a highlighted background

virtual OUStringget_accessible_description) const =0;

    virtual OUString get_accessible_idvoidset_title_background(  0;

    // After this call this widget is only accessibility labelled by pLabel and
    // pLabel only accessibility labels this widget
    virtual void set_accessible_relation_labeled_by(weld::java.lang.StringIndexOutOfBoundsException: Range [0, 64) out of bounds for length 61

    virtual void  virtual  ( =;
    virtual OUString get_tooltip_text() const = 0;

    virtual  (oid ) =0;

virtual(<&&java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        assert(!m_aFocusInHdl.IsSet() || !rLink.java.lang.StringIndexOutOfBoundsException: Range [0, 53) out of bounds for length 0
m_aFocusInHdl 
    }

    virtual )}
    {
        assert(!java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
        m_aFocusOutHdl = rLink;
    }

    
 // If rLink returns true the Widget will not automatically gain
    // focus as normally occurs
    java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
    {
        assert(!m_aMnemonicActivateHdl
        m_aMnemonicActivateHdl = rLink;
    }

    virtual void connect_size_allocate(const Link    /create  XWindow achild this.  XWindow
    {
    css:uno:Referencecss::wt:>CreateChildFrame(  ;
        m_aSizeAllocateHdl = rLink;
    }

    virtual void connect_key_press(const Link<java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
    {
        assert(!m_aKeyPressHdl.IsSet() || !rLink.IsSet());
        m_aKeyPressHdl = rLink;
    }}

    virtual void connect_key_release(const Link<const  }
    {
        assert(!m_aKeyReleaseHdl.IsSet() || !java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 40
        m_aKeyReleaseHdl = rLink;
    }

    virtual void java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 1
    {
        assert(!m_aMousePressHdl.IsSet() || !rLink.IsSet());
        m_aMousePressHdl = rLink;
    }

    virtual void connect_mouse_move(const Link<const MouseEvent&, bool>& rLink)
    {
        assert(!_aMouseMotionHdl.IsSet() | !rLink.IsSet;
        m_aMouseMotionHdl = rLink;
    }

    virtual void class VCL_DLLPUBLIC Grid : virtualContainer
    {
        assert(!    virtual void set_child_left_attach:Widget& rWidget, int ) =0;
        m_aMouseReleaseHdl = rLink;
    }

    virtual void connect_style_updated(const Link<Widget&, void>& rLink)
    {
        assert(!m_aStyleUpdatedHdl.IsSet() || !rLink.IsSet());
        m_aStyleUpdatedHdl = rLink;
    }

        virtual get_child_top_attach(eld:& ) const =0
    virtual java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    virtual void release_mouse() = 0;

    // font size is in points, not pixels, e.g. see Window::[G]etPointFont
    virtual ::Font ( = 0java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37

    //true for rtl, false otherwise
    virtual bool get_direction(    
    virtual void set_direction(bool bRTLclassVCL_DLLPUBLICScrolledWindow : virtual public Container

    /* Increases the freeze count on widget.

        the freeze count is non-zero, emission of the widget's notifications
 stopped The notifications are  until the freeze countis
       decreased to    void (int value int ,int ,int ,
    */

    virtual void     virtual void freezement_get_value()const =0

    /* Reverts the effect of a previous call to freeze.

       The freeze count is decreased    void (nt )=0java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
       notifications are  are emitted
    */

    virtual void thaw() = 0;

    /* push/pop busy mouse cursor state

      bBusy of true to push a busy state onto the       bBusy of true to push a busy state onto the stack,> )
      to  it   should .

      see weld::WaitObject */

    virtual void set_busy_cursor(bool bBusy)     virtual void vadjustment_set_page_size(ntsize)= 0;

    virtual void queue_resize() = )=0;

st = 0;

    //iterate upwards through the hierarchy starting at this widgets parent,
    //calling func with their helpid until func returns true or we run out of
    //parents
    virtual void help_hierarchy_foreach(virtual void set_vpolicy(VclPolicyType eVPolicy

    virtual void connect_vadjustment_changed <ScrolledWindow,void> )

s which interpreted  UI

       java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 5
       string contents which are interpreted voidset_scroll_thicknessi )=0;
    */
    virtual OUString escape_ui_str(

    virtual VclPtr<VirtualDevice> create_virtual_device() const = 0;

    //do something transient to attract the attention of the user to the widgetconst Color rFaceColor
            = 0

    //make this widget look like a page in a notebook
    virtual void 
       / thiswidget looklikeit  a  background
    virtual void set_highlight_background() =    :
//make this widget suitable as parent for a title
     void ()=0java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
    //make this widget suitable for use in a toolbar
    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 2
   //trying to use a custom color for a background is generally a bad idea. If your need
    //fits one of the above categories then that's a somewhat better choice
    virtualvoidset_background(const Color& rBackColor) = 0;
    // reset to default background
    virtual void set_background() = 0;

    virtual    <const &,bool m_aLeavePageHdl;
    virtual css::uno::    Link<const OUString&,void>

    virtual int get_current_page() const = 0;
    virtual void get_property_tree(tools::JsonWriter& rJsonWriter) =    virtual  intget_page_index(const OUString& rIdent) const = 0;

    // render the widget to an output device
    virtual void draw(virtual OUString get_current_page_ident() const = 0;

    virtual~Widget() {}
};

class VCL_DLLPUBLIC Container : virtual public Widgetvirtual voidset_current_pageconstOUString&rIdent) =0;
{
    Link<Container&, void> m_aContainerFocusChangedHdl    virtual voidinsert_page OUString rIdent const OUString& rLabel, int nPos) = 0;

d:
    void signal_container_focus_changed() { m_aContainerFocusChangedHdl.Call(*    {

:
    // remove from old container and add to new container in one go}
     to just removefrom old container
    virtual void move(weld::Widget* pWidget      get_tab_label_text(OUString&rIdent)const  0;
    // create an XWindow as a child of this container. The XWindow is
    // suitable to contain css::awt::XControl items
virtualcss:::eferencecss::XWindow> CreateChildFrame( =0;
    // rLink is called when the focus transitions from a widget outside the container
    // to a widget inside the container or vice versa
    virtualvoid ( <&,void& rLink)
    {
        m_aContainerFocusChangedHdl = rLink;
    }
    // causes a child of the container to have the keyboard focus
    virtual void child_grab_focus() = 0;
{

class VCL_DLLPUBLIC Box public:
{
public:
    ScreenShotEntry(OUString aHelpId, const ::2IRange rB2IRange)
    virtual void reorder_child(weld::Widget* pWidget, int position) = 0;
    // Sort ok/cancel etc buttons in platform order
    java.lang.StringIndexOutOfBoundsException: Range [31, 11) out of bounds for length 48
};

class VCL_DLLPUBLIC Grid : virtual    const basegfx:B2IRange&getB2IRange( const  returnmaB2IRange;}
{
public:
    const OUString&GetHelpId( const {return msHelpId;}
    virtual int get_child_left_attach:
    virtual void set_child_column_span(weld::Widget& rWidget, int nCols) = 0;
    virtual void set_child_top_attach(weld::Widget& rWidget, int nAttach) = 0;
    virtual int get_child_top_attach
ty std:vector<ScreenShotEntry> ScreenShotCollection;

class VCL_DLLPUBLICjava.lang.StringIndexOutOfBoundsException: Range [20, 5) out of bounds for length 53
{
public:
    // set pixel position of divider    virtual     Link<Widgetbool ;
    virtual void set_position(int java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
    // get pixel position of divider
    virtual int get_position() const


  virtual
{
friend  :LOKTriggerjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30

    &, void m_aVChangeHdl;
    Link<ScrolledWindow

protected:
    void signal_vadjustment_changed() { the id in .ui file itself is preferred
    void ( {m_aHChangeHdl.* java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 68

public:
    virtual void hadjustment_configure(int value, int lower, int upper
                                        page_increment,java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 43
        
onst = 0;
    virtual
    int hadjustment_get_upper( const=0java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
      hadjustment_set_upper(int upper)=0;
    virtual int hadjustment_get_page_size() const = 0;
    virtual void hadjustment_set_page_size rStr =0;
justment_set_page_increment(int size =;
    virtual void hadjustment_set_step_increment(int size) = 0;
   virtual  set_hpolicy(VclPolicyType eHPolicy) = 0;
    virtual VclPolicyType get_hpolicy() const = 0;
    void connect_hadjustment_changed(const Link<ScrolledWindow&, void>& rLink)
{
HChangeHdl= rLink;
    }

    virtual void vadjustment_configure(int value, int lower,
intjava.lang.StringIndexOutOfBoundsException: Range [59, 57) out of bounds for length 73
        =(  ;
    intvadjustment_get_value)const ;
    virtual void vadjustment_set_value(    virtual void vadjustment_set_value(int GetLOKNotifiervirtualint )const =0java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
    virtual weldW*m_pWindow;
    virtual void vadjustment_set_upper      To succeed,bothwidgets
    virtual int vadjustment_get_page_size    WaitObject(weld:Widget*pWindow*
virtual void vadjustment_set_page_size(int size =0java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
    virtual vadjustment_set_page_increment size) = 0;
    virtual void vadjustment_set_step_increment(int size) = 0;
    virtual int vadjustment_get_lower() java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 5
        java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
set_vpolicyVclPolicyTypeeVPolicy  0;
    virtual VclPolicyType get_vpolicy) const=0;
    void}
    {
        m_aVChangeHdl = rLink;
    }
    virtual int java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 13
    virtual(int nThickness =0;

    //trying to use custom color for a scrollbar is generally a bad idea.
    virtual void     virtual OUString get_accessible_nameDialogController
                   & )
        uvirtualOUStringget_accessible_id)  ;
};

      pjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7

classVCL_DLLPUBLIC Frame : virtual public Container
{
public:
    virtual void // center dialog
    virtual java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0
    std:< )     ;
};

 :    java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
{
    friend class ::java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 17

protected:
OUString >java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 48
    Link    

public:
java.lang.StringIndexOutOfBoundsException: Range [32, 11) out of bounds for length 45
&c 0
    virtual         0java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
    virtual m_aSizeAllocateHdl rTextint, OUString&rHelpId  } = 
     void set_current_pageint nPage =0;
virtual      void connect_key_press(onstLink<onstKeyEvent&,bool&rLinkjava.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
    virtual void remove_page(const OUStringjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    virtual void insert_page(       m_aKeyPressHdlpse(eld:Widget pEdit,weldWidget pButton =0java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
(  OUStringjava.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
    
insert_page(rIdent        0java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
    }
irtual  set_tab_label_textconst OUString rIdent constOUString&rLabel) = 0;
            (m_aMousePressHdl( ||!java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
 (     virtual void set_show_tabs(bool bShow
  (virtual  =java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

    void std:unique_ptr<Container =rLinkjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
    void java.lang.StringIndexOutOfBoundsException: Range [0, 27) out of bounds for length 2
};

    }
{
ublicjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
    ScreenShotEntry     signal_jump_page{
        : msHelpId        assert(java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 0

    {}
    }

IRange () const {returnmaB2IRange java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71

    constvirtualvoid (nPage=;

private:
    OUString msHelpId;
    basegfx::B2IRange    //true for rtl, false otherwise
};

typedef ual     virtual voidjava.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 72

class VCL_DLLPUBLIC Window : virtual public     virtual OUString get_page_title(const OUString& r
{
protected:
dget, bool m_aHelpRequestHdl

public:
)=0
    virtual OUString*
    virtual void window_move(int x,virtual void set_page_side_imageconstOUString= ;
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
virtualjava.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 38
    virtual Point get_position() const = 0;
    virtual AbsoluteScreenPixelRectangle get_monitor_workarea     :(reinterpret_cast<al_uIntPtr()java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67

    // returns whether the widget that has focus is within this Window
    // (its very possible to move this to weld::Container if that becomes
    // desirable)
    java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 1
    virtual void present() = 0;

    // with pOld of null, automatically find the old default widget and unset
    // it, otherwise use as hint to the old default
get:Widget ,weld:    virtual void change_default_widget(weld::Widget* pOld, weld::Widget
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    
java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 75

::csswt>) ;

    void connect_help(java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 0

    java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 13

    void()=0

    // collect positions of widgets and their help ids for screenshot purposes
    virtual java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 0

    // render the widget to an output device
    virtualVclPtrVirtualDevicescreenshot) ;

    virtual const::java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 10
};

class VCL_DLLPUBLIC 
{
private:
    weld       arejava.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 55

public:
         (constjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 0
            VclPtrVirtualDevice> create_virtual_device  =0
    {
        if (m_pWindow)
->et_busy_cursortrue)
    }
    ~WaitObject(        render_args
    {
        if (m_pWindow)
            m_pWindow->    virtual void set_highlight_background()
    }
  <& >    virtual void set_toolbar_background(

class Button;

class     virtualvoidset_backgroundconst
{
private:
    friendjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    virtual bool runAsync(std::shared_ptr<DialogController
d() )
        = 0;

publicboolbSelected&                               bool bSelected, const OUString& rId)
virtual (bool )=0;
    virtual bool

     centerjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0
    //
    // bTrackGeometryRequests set to true tries to ensure the dialog will end<& >public
    // up still centered on its parent windows final size, taking into account
    // that there may currently be pending geometry requests for the parent not
    // yet processed by the underlying toolkit
    //
    // for e.g gtk this will means the dialog is always centered even when
    // resized, calling set_centered_on_parent with false will turn this    insertintpos     // new container can be nu  remove fromoldcontainer
    // off again.
   virtual  set_centered_on_parentboolbTrackGeometryRequests 0

    )0java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    // Run async without a controller
/ param   point  thisto that dialogwascreatedheld by a java.lang.StringIndexOutOfBoundsException: Index 93 out of bounds for length 5
    virtual bool     void append(constjava.lang.StringIndexOutOfBoundsException: Range [38, 35) out of bounds for length 44
                          const std:void(const  ,const  )
        = 0;
virtual(nt)= 0
    virtual}
java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 56
    virtual std /
    virtual std::java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 5

    // shrink the dialog down to shown just these widgets
    public
    // undo previous dialog collapse
    virtual     intinsert,,rIdn, nullptrjava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50

virtual voidSetInstallLOKNotifierHdlconst <void* ::LibreOfficeKitNotifier> )
        = 0
}

class virtual void make_sorted() = 0;
{
public:
    virtual void     // get pixel position of
     get_primary_textvirtualintget_active)const=;
    virtual void set_secondary_textvoid set_activeintpos =;
    virtual OUString get_secondary_textclass VCL_DLLPUBLIC    virtual void remove(int pos) 
    virtual std::unique_ptr<Container> const  ;
};

class VCL_DLLPUBLIC Assistant : virtual public Dialog
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 1
    Link<const java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 10

protected:
    bool signal_jump_page(const OUString:

public:
    () const=0;
    virtual int get_n_pages() const    virtual void set_active_id(const & rStr) = 0;
ualOUString get_page_identint nPage)const=0
    virtual OUString get_current_page_ident) const = 0;
virtualvoidset_current_page(int nPage) = 0;
    void (const OUString&rIdent)=0java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
// move the page rIdent to position nIndex
    virtual 
      set_page_titlecOUString rIdent,const OUString&rTitle)  0;
    virtual void hadjustment_set_step_increment size    tojava.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 75
    virtual void ntry  acombo withtual set_hpolicy(lPolicyTypeeHPolicy ;
virtual weld:Container*java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 0

ualvoid set_page_side_help_id(onstOUString selected,e.   menu

  =0java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65

    void connect_jump_page(const Link<constjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
};

inline                                          java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
{
::    
}

template <typename    virtual void vadjustment_set_uppervirtualset_entry_message_typeEntryMessageType)=0java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
{
    return  vadjustment_set_page_increment size =0;
}

struct VCL_DLLPUBLIC ComboBoxEntry
{
    sString
    OUString sId;
    OUString sImage;
    ComboBoxEntry(OUString _aString)
        : sString(std::move(_aString))
    {
    }
    (OUString_aString    virtualVclPolicyTypeget_vpolicy)=;
        :sString(td:(_String)
         
    {
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 69
               ;
        , sId(std::move(_aId     void( =0java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
        java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    {
    }
};

enum class virtual void set_entry_constvcl:     virtualstdnique_ptrLabel>weld_label_widget const=java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
{
    Normal,
     friendclass ::OKTrigger;
    Errorprotected
}

class Menu;

/// A widget used to choose from a list of items.
class    virtualOUString get_page_ident    
{
private:
        void con(<ComboBox&bool )  = rLink;}
    std::vector<OUString> m_aSavedValues;

public:
     is the id of the row, it may be null to measure the height of a generic lineconst OUString   OUString&rLabel)
    std:tuple::RenderContext&  ::ectangle& bool,const OUString&java.lang.StringIndexOutOfBoundsException: Index 91 out of bounds for length 91
        render_argsjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20

protected:
    Link<ComboBox, void>m_aChangeHdl;
    Link<    virtual OUString (onst&rIdent)=0java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
& >java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 40
    constget_saved_values(ntpos const { return m_aSavedValuesos]}

    friend class :java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    void connect_enter_page(const     boolget_values_changed_from_saved() const

    irtualvoid signal_popup_toggled(){ java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 38

    <render_argsclassVCL_DLLPUBLIC ScreenShotEntry
    void signal_custom_render(ublicjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
                              bool bSelected                              
    {
        m_aRenderHdl.(render_args(DevicerRect bSelected rId);
    

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    Size signal_custom_get_size{

public:
    virtual void insert(int pos, const OUString& rStr, const OUString* pId,
                        const OUString* pIconName, VirtualDevice*java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        = 0;
    virtual void insert_vector(const std::vector<:ComboBoxEntry> rItems boolbKeepExisting)
        = 0;
 weld:ComboBoxEntry&rItem)
    {
        insert(pos, rItem.sString, rItem.sId.isEmpty() ? nullptr : &rItem.sId,
               rItem.sImage.isEmpty     msHelpId
    }
    void insert_text(int pos, const set_custom_renderer(bool bOn) = 0;
    {
        java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0
    }

(const     
    void append(const     (OUString
    {

    }
    void append(const OUString&    virtual      intget_menu_button_width()const = 0;
    {
        insert(-    // for mru support
    int( =;
    void append(const virtual Size get_size() constvoidintnCount=0;
   java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 5
        insert(-1, rStr, &rId, nullptr, java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    }
    void append(int pos, const OUString& rId, const OUString& rStr)
    {
        insert(pos, rStr, &rId, nullptr, nullptr);
    }
 voidinsert_separator , &)=0;
    void java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 0

    virtual int get_count() const = 0;
    virtual void make_sorted() = 0;
    virtual void clear() = 0;

    //by index, returns -1 if nothing is selected
virtual  get_active() const = 0;
    virtual void set_active(int pos) = 0;
    virtual void remove(int pos) = 0;

    //by textprivate:
virtual OUString get_active_text() const = 0;
void set_active_text(onstOUString&rStr java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    virtual OUString get_text(ntpos)const =0;
    virtual int find_text(const OUString& rStr) const = 0;
    void remove_text(const OUString&rText {remove 0

    //by id
   const0
    virtual void java.lang.StringIndexOutOfBoundsException: Range [0, 30) out of bounds for length 0
    virtual OUString get_id(int pos) const = 0;
virtual void set_id(t, constOUString&rId = 0;
    virtual int find_id(    // render the widget to an output device
(const OUString&rId){remove(ind_id(); java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65

    /* m_aChangeHdl is called when the active item is changed. The can be due
       to 
       into thejava.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8

ther anitem actually        m_pWindow(java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
       selected, e.g. from the menu.
     */

void( Link<ComboBox,void rLink)

    virtual bool changed_by_direct_pick()java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

 
    {
        m_aPopupToggledHdl    stdp< &inti;
    java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 61

    //entry related
    boolhas_entry( onst =;
    virtual void set_entry_message_type(EntryMessageType eType) = 0java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 12
    virtual void set_entry_text(const OUString& rStr) = 0;
    virtual void set_entry_width_chars(int nChars) = 0;
    virtual void set_entry_max_length(int nChars)    set_modal(oolbModal) 0
    virtual void select_entry_region(int nStartPos, int nEndPos) = 0;
    protected:
    virtual void set_entry_completion(bool bEnable, bool bCaseSensitive = false    / bTrackGeometryRequests set to true tries to ensure the dialog will endTreeView& >m_aSelectionChangedHdl;
    virtual void set_entry_placeholder_text(const OUString& rText) =    <int java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
    virtual void set_entry_editable(java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 6
    virtual void cut_entry_clipboard() = 0;
    virtual void copy_entry_clipboard() = 0;
    virtual void() = 0;

    // font size is in points, not pixels, e.g. see Window::[G]etPointFont
    virtual void set_font(const vcl    // Run async without a controller

        virtual bool runAsync(td:shared_ptr<ialogLink TreeIter&&,ool>m_aCollapsingHdl;
set_entry_fontconst :Font&rFont)= 0;
    vcl m_aModelChangedHdl

    virtual bool Link<const CommandEvent>java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52

    void(const <String&bool>rLink)
    {
     m_aDragBeginHdl
    }

    // callback returns true to indicated no further processing of activate wanted
    void connect_entry_activate(const Link<ComboBox&, bool>& rLink)protected:

    void save_value() { m_sSavedValue = get_active_text(); }

    void save_values_by_id(const OUString& rId)
    {
        m_aSavedValues.push_backboolsignal_expanding(const TreeIter&Iter)
    }

            returnm_aExpandingHdl.IsSet(     void SetInstallLOKNotifierHdl(const Link<oid* vcl:ILibreOfficeKitNotifier>&rLink)
    OUString    bool signal_collapsing(onst     bool signal_collapsing(const TreeIter
    bool get_value_changed_from_saved
    bool get_values_changed_from_saved() const
    {
        return !m_aSavedValues.empty()
               &&     virtual OUString  { m_aVisibleRangeChangedHdl.all(his)}
                      == m_aSavedValues.end();
    }

    void removeSavedValues() { m_aSavedValues.clear(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    // for custom rendering a row
    void connect_custom_get_size
    {
               m_aGetSizeHdl =rLink;
    }
connect_custom_render
    // call set_custom_renderer after setting custom callbacksjava.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 49
    virtual void set_custom_renderer(void    
    // create a virtual device compatible with the device passed in render_args wrt alpha
    virtual VclPtr<VirtualDevice> create_render_virtual_device() const = 0;    int ( const  0
     works with custom rendering
    virtual void set_item_menu(const OUString&java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    // get the width needed to show the menu launcher in a custom row
    int(   ;

    // for mru support
    virtual int get_max_mru_count nIndex
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
virtualOUStringget_mru_entries(const 0
         virtualOUString get_page_title(const OUString&rIdentconst =0java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70

    // Backwards compatibility, should be avoided to allow
    // UI consistency.
    virtual void set_max_drop_down_rows(int nRows) = 0;
;

enum class ColumnToggleType
{
    Check,
    Radio
};

class  Link<et_size_args,Size>_
{
private:
    OUStringnumber(reinterpret_cast<l_uIntPtr>Value)java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
    templateTm_aGetSizeHdl(java.lang.StringIndexOutOfBoundsException: Range [49, 47) out of bounds for length 63

public:
    TreeIter {
    virtual bool equal(const 
    virtual ~TreeIter() {}
};

/* Model column indexes are considered to begin at 0, but with special columns
   before index 0. A     OUString         m_aQueryToolm_aQueryTooltipHdl =rLink;
   }
    those columns.
*/

  : (std:move_aString)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
{
    }

public:
    typedef        =0
    typedef std::pair<const TreeIter&, OUString> iter_string;
    // OUString is the id of the row, it may be null to measure the height of a generic line
  typedefstdpair<::nderContext&,onst OUString&get_size_args;
    typedef std::tuple<vcl::RenderContext&, const tools::Rectangle,sImage        }
        render_args;

private:
    OUString java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0

protected:
    Link<TreeView&,{
    Link<TreeView&, java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 12
    Link<int, void> m_aColumnClickedHdl;
    Link<onst iter_col&, 
Linkconst TreeIter&,bool m_aEditingStartedHdl
    Link<const iter_string&, bool> m_aEditingDoneHdl;
    // if handler returns false, the expansion of the row is refused
    Link<const TreeIter&, bool> m_aExpandingHdl;
    // if handler returns false, the collapse of the row is refused
 & java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 27
    Linkpublic
    <&  java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
   
    <onst& >java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 20
   
    // arg to false to disable the treeview default dnd icon
    Link<boolLink<& void> m_aPopupToggledHdlullptr,&rStr& nullptr  ;
    std::function<int(const weld::java.lang.StringIndexOutOfBoundsException: Range [0, 45) out of bounds for length 5

protected:
    void signal_selection_changed() { java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 5
.Callthis) }
    void signal_column_clicked(int nColumn
    bool signal_expanding(const TreeIter& rIter)
    {
        return!a.( |.()
    }
    bool     render_args void>;
    {
        return !m_aCollapsingHdl.    virtual void insert_separator(int( pos                           , &rIdjava.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
    }
    void signal_visible_range_changed() { m_aVisibleRangeChangedHdl.Call(*this); }
void signal_model_changedenderContext >a;

    void signal_toggled(const iter_col& rIterCol) { 

    bool signal_editing_started(const TreeIter& rIter) { return java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 0

        
    {
       return m_aEditingDoneHdl.Call(terText;
    }

    void signal_popup_menu(const CommandEvent& rCommand= 0

    Link<const & java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 55
    OUString signal_query_tooltip(const TreeIter& rIter) { return m_aQueryTooltipHdl.Call(rIter); }

           t activation  thedefault handler whichexpands/ollapsesthe row,if possible.
    void signal_custom_render(vcl::RenderContext& rDevice, const tools::Rectangle&&nbsp;rRect,
                               {
    {
                p.*java.lang.StringIndexOutOfBoundsException: Range [1, 0) out of bounds for length 0
    }

    <et_size_args Size m_aGetSizeHdljava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
Sizesignal_custom_get_sizevcl:enderContext&rDevice constOUString&rId
    {
        return m_aGetSizeHdl.Call(get_size_args(rDevice, rId));
    }

public:
    virtual void{
    {
        assert(!        insert(pos,rStr,nullptr, nullptr, nullptr);
        m_aQueryTooltipHdl = rLink;
    }

    // see 'expanding on-demand node details' for bChildrenOnDemand of true
virtual insert(onstappendonst weld:omboBoxEntry){insert(1 rItem) }
                        const OUString* java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
                        bool bChildrenOnDemand, TreeIter* pRet)
        = ;

    void (int nRow    virtualvoidenable_toggle_buttons(ColumnToggleType eType) =0;
    {
        insert(nullptr, nRow    virtual void set_clicks_to_toggle(int nToggleBehavior)= 0;
    }

voidappend(reeIter*pRet  ){insert(-,pRet; }

    void insert(int pos, const OUString& rStr, const     {
                VirtualDevice* pImageSurface)
    {
        insert(nullptr, pos    virtual void unselect(ntpos)= 0;
    }
    void insert_text(int pos, const OUString& rStr)
    {
        insert(    void OUString get_text(introw int col =-)const =;
    }
    void append_text(const OUString& rStr)
    {
        insert(nullptr, -1, &rStr, nullptr, nullptr, nullptr, false, nullptr);
    }
         void set_sensitive(trow,bool bSensitive nt 1 =0;
    {
        insert(nullptr, -1, &rStr, &rId, nullptr, nullptr, false, nullptr);
    }
    void append(const OUString& rId, const OUString& rStr,    }
   {
        insert(nullptr, -1, &rStr, &rId, &java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 5
    }
    void append(const TreeIter* pParent, const OUString& rStr)
    {
        insert(pParent, -1, &rStr, nullptr, nullptr, nullptr, false, nullptr);
    }

    virtual void insert_separator(int pos, const OUString& rId) = 0;     void set_image(int , const OUStringjava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 5
    void append_separator(const OUString& rId) { insert_separator(-1, rId); }

    void connect_selection_changed(const Link<TreeView&, void>& rLink)
    {
 = rLink;
    }

    /* A row is "activated" when the user double clicks a treeview row. It may
dappend_separator(const OUString&{-,rId java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77

       
       the activation    virtual int get_count( const  0;
    */

   voidconnect_row_activated( Link<reeView& bool& rLink){m_aRowActivatedHdlvirtual void clear( =0;

    // Argument is a pair of iter, col describing the toggled node
   cLinkiter_col&void {  rLink;java.lang.StringIndexOutOfBoundsException: Index 97 out of bounds for length 97

    void connect_column_clicked(const Link<int, void>& rLink) { m_aColumnClickedHdl = rLink; }
    void connect_model_changed    virtual void scroll_to_row(ntrow)=0java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44

    virtual OUString get_selected_text() const = 0;
    virtual OUString get_selected_id() const = 0;

    // call before inserting any content and connecting to toggle signals,
    // an pre-inserted checkbutton column will exist at the start of every row
    // inserted after this call which can be accessed with col index -1
    virtual void  virtual  set_active(int pos) = 0;

    virtual void set_clicks_to_togglevoid select_text(onst & rText){ select(ind_text(rText); }

    //by index
    virtual int get_selected_index() const = 0;
selection doesn survive afreeze.
    virtual void select(int pos) = 0;
    virtual void unselect(int pos) = 0;
    virtual void remove(int pos) = 0;
    // col index -1 gets the first text column
        .eserve(Rows.());
    // col index -1 sets the first text column
    virtual void set_text(int row, const OUString& rText, int col =    void             aRet.push_back(get_texta);
    // col index -1 sets all columns
    virtual java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 75
    virtual bool get_sensitive(int row, int col) const = 0;
    virtual void set_id(int row, const OUString& rId) = 0;
    // col index -1 sets the expander toggle, enable_toggle_buttons must have been called to create that column
    virtual    //by id
    // col index -1 gets the expander toggle, enable_toggle_buttons must have been called to create that column
    virtual TriState get_toggle(int row, int col = -1) const = 0;
    // col index -1 sets the expander image
        //Dont select when frozen select after thaw.Noteselection 'survive a freeze.
    // col index -1 sets the expander image
    virtual void set_image(int row, VirtualDevice& rImage, int col = -1) = 0;
    // col index -1 sets the expander image
    virtual void set_image(int row, const css::    /via iter
                            coljava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        =0;
    virtual void set_text_emphasis(int row, bool bOn, int col) = 0;
    virtual bool get_text_emphasis(int row, int col) const = 0;
    virtual void set_text_align( row,double fAlign,int java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 47
    virtual void swap(int pos1, int pos2) = 0;
virtualstd:<>   0
    (int &rColor ;
    // scroll to make 'row' visible, this will also expand all parent rows of 'row' as necessary to
    // make 'row' visible
    virtual void scroll_to_row(int row) = 0;
    virtual bool is_selected(int pos) const = 0;
    virtual int get_cursor_index() const = 0 virtual find_id(onst OUString    /  topointto  nodeatthe current level
    virtual    virtual bool iter_previous_siblingTreeIter rIter)const=0java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66

    //by text
     int find_text(    /node,sibling first then depth
    /Don't select when frozen, select after thaw. Note selection doesn't survive a freeze.
    void select_text(const OUString& rText) { select(find_text(rText)); }
    void remove_text(const OUString&     virtual bool iter_children(TreeIter& const  0;
    std::vector<OUString> get_selected_rows_text() const
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        std::vector<int> aRows(get_selected_rows());
        std::vector<OUString> aRet;
        (aRows.ize);
        for (auto a : aRows)
.push_backget_text();
        return aRet;
    }

         iter_nth_childTreeIter intnChild)const
virtual  get_id(        intothe entry of a combo boxwith an entry.
    virtual int find_id(const OUString& rId) const = 0;
 frozen select after thaw.Noteselection doesn't survive a freeze.
           changed_by_direct_pick() to discover whether an item was actually explicitly
    void remove_id(const OUString& rText) { remove(find_idselected eg from         iter_nth_sibling(rIter,nChild)

    //via iter
    virtual     *
   virtual  copy_iterator(const TreeIterrSource TreeIter&rDest)const =0java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83
 pIter) const = 0;
    virtual bool get_cursor(TreeIter* java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 0
    virtual  set_cursor(nst  Iter) 0;
    virtual bool get_iter_first(TreeIter& rIter) const = 0;
    // set iter to point to next node at the current level
    virtual        m_aPopupToggledHdl=rLink;
    // set iter to point to previous node at the current level
    virtual bool java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 0
    // set iter to point to next node, depth first, then sibling
    virtual bool iter_next(reeIter&rIter)const =0java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
    // set iter to point to previous node, sibling first then depth
   virtual booliter_previous(TreeIter& rIter) const = 0;
    // set iter to point to first child node
    virtual bool iter_children(TreeIter& rIter) const    virtual   (int ) =0;
    bool iter_nth_sibling(TreeIter& rIter,     virtual void set_entry_max_length(int nCharsset_entry_max_length(int nChars =0java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
    {
        bool bRet = true;
        for (int i = 0; i < nChild && bRet; ++i)
            bRet = iter_next_sibling(rIter);
        return bRet;
    }
booliter_nth_child(& rIter,int ) const
    {
        if (ter_childrenIter)java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 34

        return iter_nth_sibling(rIter, nChild);
    }
    virtual bool    /visually
    virtual int get_iter_depth(const TreeIter& rIter) const = 0;
    virtual int get_iter_index_in_parent(const TreeIter& rIter) const = 0;
    /* Compares two paths. If a appears before b in a tree, then -1 is returned.     :Font    // col index -1 sets the first text column
       If b appears before a , then 1 is returned. If the two nodes are equal,
        0 is returned.
    */

    virtual  iter_compare(onst TreeIter&aconst TreeIter& b) const = 0;
    virtual bool iter_has_child(const TreeIter& rIter) const = 0;
     number of direct children rIter has
    virtual(const TreeIter& rIter) const =0;
         save_value(    / col index -1 sets the expander toggle, enable_toggle_buttons must have been called to create that column
    //Don't select when frozen, select after thaw. Note selection doesn't survive a freeze.
virtual select(const TreeIter&rIter)=0;
    virtual void unselect(const TreeIter& rIter) = 0;
     if itwas  get_iter_depth() + nIndentLevel
    virtual void set_extra_row_indent(const TreeIter& rIter, int nIndentLevel) = 0;
    // col index -1 sets the first text column
& rStr, intcol=-) = 0;
    // col index -1 sets all columns
    virtual void ( TreeIter&rIter bool bSensitive, int col =-)= 0java.lang.StringIndexOutOfBoundsException: Index 89 out of bounds for length 89
    virtual bool get_sensitive(onst TreeIter&rIternst  0;
    virtual void set_text_emphasis(const TreeIter& rIter, bool bOn, int col) = 0;
     bool get_text_emphasis(const TreeIter& rIter, int ) const = 0;
    virtual void set_text_align(const TreeIter& rIter, double fAlign,     col index -sets the expander image
gleenable_toggle_buttons musthave been called to  that column
    virtual void set_toggle( TreeIter&rIter,TriState bOn, int col = -1) = 0;    virtual void set_imageconst TreeIter&rIter,
    // col index -1 gets the expander toggle, enable_toggle_buttons must have been called to create that columnconst css:uno:Reference<css:graphic::XGraphic> rImage int col =-
    virtual TriState get_toggle(const TreeIter&    void removeSavedValues){m_aSavedValues.       =;
    // col index -1 gets the first text column
    virtual void     // for custom rendering a r
    virtual void set_id(const TreeIter&rIter const     /scrollto  rIter visible, this willexpand rowsof    java.lang.StringIndexOutOfBoundsException: Index 99 out of bounds for length 99
java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 61
    java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
virtualset_imagec TreeIterset_custom_renderer  setting customcallbacks
    // col index -1 sets the expander image
           // create virtual compatiblewith the device passedin render_args wrt 
index1 sets theexpanderimage
    virtual void set_image(const TreeIter& rIter    /set a menu
                           
        = 0java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
    virtual void set_font_color(const TreeIter& rIter, const Color& rColor) = 0;
    // call func on each selected element until func returns true or we run out of elements
    // make rIter visible
        java.lang.StringIndexOutOfBoundsException: Range [33, 11) out of bounds for length 46
    virtual bool is_selected(const TreeIter&   virtual    // call func on each visible element until func returns true or we run out of elements

virtual void move_subtree(TreeIter&rNode,    virtual voidvisible_foreach(const std:function<(TreeIter&)&func =0;
        = 0;

    // call func on each element until func returns true or we run out of elements
_foreach(onst std:unction<TreeIter&> func)= 0;
    // call func on each selected element until func returns true or we run out of elements
virtual  selected_foreach(onst std::unctionbool(reeIter)&func)=0
    // call func on each visible element until func returns true or we run out of elements
    virtual void visible_foreach(const std::function<bool(TreeIter&)>& func) = 0;
    // clear the children of pParent (whole tree if nullptr),
    / thenadd     TreeIter( TreeIter&  delete;
    // inserted with an arg of the index that this row will be when bulk insert
    // ends.
    //
    // this enables inserting the entries backwards in models where that is faster,
    //
    // pFixedWidths is optional, when present each matching entry col text
    // width will not be measured, and the fixed width used instead. Use
    // sparingly because wider text than the fixed width is clipped and cannot
    // be scrolled into view horizontally.
    // @param bGoingToSetText needs to be true, if you plan to call set_text inside the insert func.
/ bGoingToSetTextto,
                           void(TreeIter,int&java.lang.StringIndexOutOfBoundsException: Index 99 out of bounds for length 99
                                      constweld:*pParent=nullptr,
                                      const std::vector<int>* pFixedWidths = nullptr,
                                      bool bGoingToSetText = false)
        = 0;

    /* expanding on-demand node details

    When                     java.lang.StringIndexOutOfBoundsException: Range [59, 58) out of bounds for length 67
    bChildrenOnDemand of true), java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 0
    java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
    the load-on-class VCL_DLLPUBLIC Tr true),then initiallyin  

    The 'placeholder' needs 
    shown  when are no real entries yet. hischild doesn't
    exist for the purposes of any of the iterator methods, e.g. iter_has_child
    on an typedef :tuple<::& toolsexistfor purposes  anythemethods g 
    rest of the iterator methods skip over or otherwise ignore that node.

 the expander, the expansion mechanism
removes  placeholder'    removes the 'placeholder' entryjava.lang.StringIndexOutOfBoundsException: Range [65, 59) out of bounds for length 77
any expandingallback installable)
    has the opportunity to populate the node with children.

    If you decide to directly    constTreeIter& bool>m_aCollapsingHdl;
    outside of the expanding-callback then you also need to explicitly remove
    ) otherwise thetreeview
    is in an inconsistent state.  */


bool( &rIter =0
    // expand row will first trigger the callback set via connect_expanding before expanding
     (  .(this;java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
    // collapse row will first trigger the callback set via connect_collapsing before collapsing
     0java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
    // set the empty node to appear as if it has children, true is equivalent
java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
    virtual    /collapse rowwill    }
    // return if the node is configured to be populated on-demand
    virtual bool virtual void collapse_row TreeIter&rIter)        return !m_aCollapsingHdlsSet)|m_aCollapsingHdl.Call(rIter);
    // set if the expanders are shown or not
java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52

connect_expandingonst onstTreeIter  {  }
    void connect_collapsing(const Link<const virtual void set_children_on_demand(const TreeIter

    // rStartLink returns true to allow editing, false to disallowjava.lang.StringIndexOutOfBoundsException: Range [0, 11) out of bounds for length 0
/   accept edit, reject
    virtual  ( constTreeIter,>,
                                 const Link<const iter_string    {
    {
        assert(
 =rStartLink;
        m_aEditingDoneHdl = rEndLink;
    }

    virtual void start_editing(const weld::TreeIter& rEntry) = 0;
    <, java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41

    virtual void connect_visible_range_changedbool bSelected  OUString&rId
    {
            java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        m_aVisibleRangeChangedHdl = rLink
    }

    virtual void connect_popup_menu(const Link<const CommandEvent     signal_custom_get_size(    virtual void end_editing() = 0;void end_editing( =;
    {
        m_aPopupMenuHdl = rLink;
    }

    virtual void enable_drag_source(rtl::Reference<TransferDataContainer>& java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 7
sal_uInt8eDNDConstants)
        = 0;

    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

    //all of them. Don't select when frozen, select after thaw. Note selection doesn't survive a freeze.
    virtual // see 'expanding
    virtual void unselect_all() = 0    virtual void connect_popup_menuconstvirtualinsertTreeIterpParent,int pos,const OUStringpStr,const OUString*,

    // return the number of toplevel nodes
    virtual int n_children() const = 0;

    // afterwards, entries will be in default ascending sort order
    virtual void make_sorted() =                                     
    virtual void make_unsorted() = 0;
    virtual bool get_sort_order()         insert(nullptr, nRow, nullptr,  ,nullptr,false,pRet)
    virtual void set_sort_order(bool

/ TRUE , FALSE,descending, INDET neither (ff
ualvoid set_sort_indicator(riState,int ) =0java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
    virtual TriState get_sort_indicator(int nColumn) const = 0;

    virtual int get_sort_column() const = 0;
    virtual void set_sort_column(int nColumn) = 0;

    virtual void
set_sort_funconst :<(nst weldT&const :reeIter) java.lang.StringIndexOutOfBoundsException: Range [95, 94) out of bounds for length 95
    {
        m_aCustomSort = func;
    }

()=0java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
     java.lang.StringIndexOutOfBoundsException: Range [32, 30) out of bounds for length 58

     voidcolumns_autosizevirtualboolget_sort_order()const  ;
    virtualvoid(std:int    
  cstd:> java.lang.StringIndexOutOfBoundsException: Range [0, 73) out of bounds for length 0
    virtual int get_column_width(int nCol) const = 0;
    set_centered_columnnt  0;
    virtual OUString get_column_title(int nColumn) const = 0;
    virtual void set_column_title(int nColumn, const OUString& rTitle) = 0;

    int get_checkbox_column_width() const { return get_approximate_digit_width() * 3 + 6; }

    virtual    void ( )=0java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
    virtual    virtual 
    // remove the selected nodes
    virtual void remove_selection() = 0;

    // only meaningful is call this from a "changed" callback, true if the change
    // was due to mouse hovering over the entry
     bool       arow    Enterpressed

    virtual void vadjustment_set_value(int value) = 0;
    virtual int vadjustment_get_value() const = 0;

    void eactivationtothedefaulthandlerwhichexpandscollapsestherow possible
    OUString const& get_saved_value() const { return m_sSavedValue set_column_fixed_widthsconst std::vector<int>& rWidths) = 0;
boolget_value_changed_from_saved() const { return m_sSavedValue != get_selected_text(); }

        java.lang.StringIndexOutOfBoundsException: Range [0, 11) out of bounds for length 0
    void connect_custom_get_size(const Link<get_size_args, Size>& rLink) { m_aGetSizeHdl = rLink; }
    void connect_custom_render(constLinkr &rLink{m_aRenderHdl    void i const &rTitle=0
    // call set_column_custom_renderer after setting custom callbacks ()  return    constLink<,oid&{m_aColumnClickedHdlrLink;}
    virtual void set_column_custom_renderer(int java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 0
    // redraw all rows, typically only useful with custom rendering to redraw due to external
    // state change
    virtual void queue_draw() = 0;

    /* with bDnDMode false simply return the row under the point
     *
     * with bDnDMode true:
     * a) return the row which should be dropped on,       java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 0
     *    be different from the row the mouse is over    (  =java.lang.StringIndexOutOfBoundsException: Range [59, 57) out of bounds for length 62
     *    positioning the mouse on the bottom half of a row indicates to drop
     *    after the row
     * b) dnd highlight the dest row
     */

    virtual bool get_dest_row_at_pos(const Point& rPos,  virtual void  // state change
=)
        = 0;
      ()=java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    virtual tools::Rectangle get_row_area(const weld::TreeIter    
    // for dragging and dropping between TreeViews, return the active source
    virtual TreeView* get_drag_source() const = 0;

 Widget:;
    using Widget::get_sensitive;
};

:upleO,const TreeIter& java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 43

class VCL_DLLPUBLIC IconView : virtual public Widget
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    friend class ::LOKTrigger;

:
luejava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27

protected
    Link ( ,intpos2  ;
onView >;
    Link<const       (nt, const Color&      */
m_aQueryTooltipHdl;
    Link<const encoded_image_query&, bool> m_aGetPropertyTreeElemHdl;

    void signal_selection_changed() { m_aSelectionChangeHdl=;
gnal_item_activated){ .() }
    OUString signal_query_tooltip(const TreeIter& rIter) const
       
        return m_aQueryTooltipHdl.Call(rIter);
    }

public:
    virtual int     //Don't select when,selectafter thaw. t  a
         :et_sensitivejava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32

    virtual void insert(int pos, const java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                        const OUString* pIconName, TreeIter* :tuple,const >java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
            java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

    virtual void insert(int pos, const OUString*     friend class orjava.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 35
                        *)
        = 0;

    virtual void insert_separator(int pos, const java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 20

void  
    {     (ntpos =0;
        insert(-1, &rStr, &rId, &rImage, nullptr);
    }

    void append(const OUString& rId, const OUString& rStr,     void select_id(const OUString& rId) { select(find_id(rId)) encoded_image_query m_aGetPropertyTreeElemHdl
    {
        insert(-1
    }

    voidvirtual signal_item_activated {returnm_aItemActivatedHdl()}

, void>& rLink
    {
        m_aSelectionChangeHdl = rLink;
    }

    /* A row is "activated" when the user double clicks a treeview row. It may
       also be emitted when a row     public:

       a return  "rue" meansthe  has beenjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
       the activation to the default handler which expands/collapses the row, if possible    =;
    */

    void connect_item_activated(const Link<        =0;

    void connect_command(const Link<const CommandEvent insert_separator(tposc *pId 0

virtual void connect_query_tooltip( Link<TreeIter&OUString>& rLink)
    {
         =rLink;
    }

    // 0: OUString, 1: TreeIter, returns true if supported
    virtual void connect_get_image(const Link<const encoded_image_query&, bool>& rLink)
    {
        m_aGetPropertyTreeElemHdl = rLink;    }
    }

    virtual OUString get_selected_id    virtual int get_iter_depth(const & )const = 0;

    virtual void ( =0

    virtual int count_selected_items()java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    virtual OUString get_selected_text() const = 0;

    //by index. Don't select when frozen, select after thaw. Note selection doesn't survive a freeze.
    virtual OUString get_id(}
     java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    virtual void unselect(    *
     set_image V& 0java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 64
    virtual void set_text(int pos, const OUString& rText) = 0;
    virtual void set_id(int pos, const OUString& rId) = 0;
virtual set_item_accessible_nament pos,  OUStringr)0
     //Don't select when frozen, select after thaw. Note selection doesn't survive a freeze.
    virtual : (int)const=0;

    //via iter
    virtual std::unique_ptr<TreeIter> make_iterator(const/java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
   =0java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
    virtual bool get_cursor(TreeIter*     
virtual void const&)=0java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
    connect_item_activated Link<& > rLink)   void (TreeIter boolbSensitiveint col -)=0java.lang.StringIndexOutOfBoundsException: Index 89 out of bounds for length 89
    virtual OUString get_id(const java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
    OUString onst TreeIterr)onst =;
    virtual bool iter_next_sibling(TreeIter& rIter) const = 0;
    virtual void scroll_to_item(const TreeIter& rIter) = 0;

    // call func on each selected element until func returns true or we run out of elements
    virtual void selected_foreach(    virtual       const &TriStatebOnint    java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83

    //all of them. Don't select when frozen, select after thaw. Note selection doesn't survive a freeze.
    virtual void select_all() = 0;
    virtual void unselect_all() = 0;

    // return the number of toplevel nodes
    virtual int n_children() const = 0;

    void save_value() { m_sSavedValue = get_selected_text(); }
    OUString java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
    bool get_value_changed_from_saved() const { return java.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0
};

  Button :virtualvirtual (nstTreeIterrIter,
{
    friend java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0

protected:
    Link<Button&, void> m_aClickHdl;

    void signal_clicked() { m_aClickHdl.Call(*this); }

publicvirtual     make ,   parentrowsof  necessaryjava.lang.StringIndexOutOfBoundsException: Range [99, 100) out of bounds for length 99
    virtual void    void(const &rIter =0;
    // pDevice, the image for the button, or nullptr to unset
    virtual void set_image(VirtualDevice* pDevice) = 0;
    virtual void set_image(      (& rNode, const     voidintpos,    =;
    virtual void set_from_icon_name(const OUString&     virtual void remove(int pos) = 0;
    virtualOUString (    virtual tools::Rectangleget_rect(int pos) const = 0;
    void clicked() { signal_clicked(); }
    booljava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 14

    // font size is in points, not pixels, e.g. see Window::[G]etPointFont
cl:nt&rFont)=;

    /* Sometimes, a widget should behave like a button (activate on click,
       accept keyboard focus, etc), but look entirely different.

       pDevice, the custom look to use, or nullptr to unset.

Typically doing this is ill advised. Consider using
       set_accessible_name if you do. */

    virtual void set_custom_button(VirtualDevice* pDevice) = 0;

    virtualvoid (B& &rLink) { =rLink; }
};

class VCL_DLLPUBLIC Toggleable : virtual public Widget
java.lang.StringIndexOutOfBoundsException: Range [58, 1) out of bounds for length 1
    friend class ::LOKTrigger;


    Link<Toggleable&, void> m_aToggleHdl;
    TriState m_eSavedValue = TRISTATE_FALSE                                      const std:ector*pFixedWidths  nullptr,

    void signal_toggled() { m_aToggleHdl.Call(*this); }

public:
    virtualvoid set_active( active)=0java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

virtualvoid ( )=0;
    virtual bool get_inconsistent() const = 0;

    TriState get_state() const
    {
        if (get_inconsistent())
            return TRISTATE_INDET;
        else if (get_active())
            return     bChildrenOnDemand of truethen   the
        return TRISTATE_FALSE;
    }

    void set_state(TriState eState)
    {
switch(
        {
            case TRISTATE_INDET:
                set_inconsistent(true);
                break;
            case TRISTATE_TRUE:
                set_inconsistent(false);
                set_active(true);
                break;
            TRISTATE_FALSE:
                set_inconsistent(false);
                set_active(false);
                break;
        }
    }

    void save_state() { m_eSavedValue = get_state(); }
    TriState get_saved_state() const { return m_eSavedValue; }
    bool get_state_changed_from_saved() const

    virtual void connect_toggled(const Link<Toggleable&, void>& rLink)protected:
};

class VCL_DLLPUBLIC java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 0
{
    friend class ::LOKTrigger;
};

struct VCL_DLLPUBLIC TriStateEnabled
{
    TriState eState;
    bool bTriStateEnabled;
    TriStateEnabled()
        : eState(TRISTATE_INDET)
        , bTriStateEnabled(true)
    {
    }
    void ButtonToggled(Toggleable& rToggle);
};

class VCL_DLLPUBLIC MenuButton : virtual public ToggleButton
{
    friend class ::LOKTrigger;

    Link<const OUString&, void> m_aSelectHdl;

protected:
    void signal_selected(const OUString& rIdent)     clicked) java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 40

public:
    void connect_selected    virtual bool get_row_expandedconst &)const=0;

    virtual void insert_item(int pos, const OUString& rId, const OUString& rStr,
                             const OUString* pIconName, VirtualDevice* pImageSurface,
                             TriState eCheckRadioFalse)
        = 0;
    void append_item(const OUString    /set the empty node to appear  if it has children,, true is equivalent
    {
        insert_item(-1, rId, rStr, nullptr, nullptr, TRISTATE_INDET);
    }
    void(const OUString& rId, const OUString& rStr)
    {
        insert_item(-1, rId, rStr, nullptr, nullptr, TRISTATE_TRUE);
    }
    void append_item_radio(    virtual void set_show_expanders bShow = 0;
    {
        insert_item(-1    void connect_expanding(const  Link< TreeIter&,bool> rLink){m_aExpandingHdl = rLink; }
    }
java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 87
    {
        insert_item(-1, rId, rStr, &rImage, nullptr, TRISTATE_INDET);
    }
    void append_item(const OUString& rId, const OUString& rStr, VirtualDevice& rImage)
    {
        insert_item(-1, rId, rStr, nullptr, &Image TRISTATE_INDET);
    }
    virtual void insert_separator(int pos, const OUString& rId) =     java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    void append_separator(const OUString& rId) { insert_separator(-1java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    virtual void remove_item(const OUString ) =0java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
    virtualvoid clear)=0java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
    virtual void set_item_sensitive(const OUString& rIdent, bool java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 55
    virtual void set_item_active(const OUString& rIdent, bool bActive) = 0;
    virtual void set_item_label(const OUString& rIdent, const OUString&  virtual bool() const  ;
    virtual java.lang.StringIndexOutOfBoundsException: Range [12, 0) out of bounds for length 0
    virtual void set_item_visible(const OUString& rIdent, bool bVisiblevirtual  (  =0;

 void(:   0;
};

// Similar to a MenuButton except it is split into two parts, a toggle
// button at the start and a menubutton at the end
on:virtual public MenuButton
{
};

class VCL_DLLPUBLIC              TRISTATE_TRUE;
{
  sal_uInt8 eDNDConstants)
    virtual void set_label(const OUString& rText) = 0;
    virtual OUString get_label() const = 0;
    virtual void set_label_wrap(bool wrap) = 0;
};

class VCL_DLLPUBLIC                 set_inconsistentrue)
{
public:
    // radio button doesn't support inconsistent state
void set_inconsistent(oolbInconsistent) override
    {
        assert(!bInconsistent && "Radio button doesn't support inconsistent java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 32
        (void)bInconsistent;
    }

    bool get_inconsistent() const override { return java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 0
};

class VCL_DLLPUBLIC LinkButton : virtual public Widget
{
    friend class ::LOKTrigger;

    Link<LinkButton&, bool> m_aActivateLinkHdl    // TRUE ascending, FALSE, descending, INDET, neither (off)

:
    bool java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 1

public:
    virtual void set_label(const OUString& rText) = 0;
 OUStringget_label)const=0java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    virtual void set_label_wrap(bool wrap) = 0;
    virtual void java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 16
    virtual OUString get_uri( const =0;

    void connect_activate_link(const Link<LinkButton&, java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 29
};

VCL_DLLPUBLICScale:virtualjava.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
{
    Link{

protected
   voidsignal_value_changed  .java.lang.StringIndexOutOfBoundsException: Range [0, 57) out of bounds for length 40

public:
) = 0;
    virtual int get_value() const = 0;
    virtual void set_range(java.lang.StringIndexOutOfBoundsException: Range [0, 30) out of bounds for length 7

    virtual void set_increments(int step, int     virtual void insert_item(int pos, const OUStringrId, ,
    virtual void get_increments(int& step, int& page) const = 0;

    void connect_value_changedvirtual  get_column_width( )const =0;
};

class VCL_DLLPUBLIC Spinner : virtual public Widget
{
public:
(  java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
    virtual void stop() = 0;
};

classVCL_DLLPUBLIC  : virtual public Widget
{
public:
    //0-100
    virtual void set_percentage(int value) = 0;
    virtual OUString get_text() const = 0;
    virtual void set_text(const OUString& rText) = 0;
};

class VCL_DLLPUBLIC LevelBar : virtual public Widget
{
public:
    /// Sets LevelBar fill percentage.
    /// @param fPercentage bar's fill percentage, [0.0, 100.0]
    virtual void set_percentage(double fPercentage) = 0;
};

class VCL_DLLPUBLIC  :virtual public Widget
{
private:
    OUString m_sSavedValue;

protected:
    Link<Entry&, void> m_aChangeHdl;
    <&     withbDnDMode :
    E, >;
Link,bool java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38

   friendthe

    void signal_changed() {     /
.Call)}

public:
    virtual void=;
    virtual OUString get_text() const = 0;
virtualvoid set_width_chars(nChars  ;
    class VCL_D MenuToggleButton :virtual public MenuButton
/
    virtual void java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0
    // nEndPos can be -1 in order to select all text
    virtualvoid (nStartPos nEndPos= 0;
// Widget:get_sensitivejava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
    virtual bool 
    virtual void replace_selectionconst OUString )=0
    // nCursorPos can be -1 to set to the end
     = 0;
    virtual int java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 1
    virtual void set_editable(bool bEditable) = 0;
    virtual bool get_editable    ;
    virtual void set_visibility(<,bool>;
    virtual void set_message_type(EntryMessageType eType) = 0;
    (const OUString rText) =0java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65

    virtual void set_overwrite_mode(bool bOn) = 0
    virtual bool get_overwrite_mode() const = 0;

 ;
    virtual void set_font(const vcl::Font& rFont) = 0;

    /*
       {
           friendclass :;
       indicator is shown.

       This explicit text color method exists to support         m_aQueryTooltipHdl.allrIter);
berformat color feature.
    */

    ) 0;

    virtual void     voidinsertint   , *,
    void connect_insert_text(const Link<OUString&, bool>& rLink                         OUString pIconName, TreeIter*pRet)
    // callback returns true to indicated no further processing of activate wanted
    void (const<Entry,bool&rLink){m_aActivateHdl=rLink;}
    virtual void connect_cursor_position(const Link<Entry&, void>& rLink)
    {
CursorPositionHdl;
    }

virtualvoid () =0java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
    virtual void copy_clipboard() = 0;
    virtualjava.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 41

idjava.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 53

voidjava.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 53
    OUString const& get_saved_value() const {     java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    bool get_value_changed_from_saved() const 
};

class VCL_DLLPUBLIC SpinButton : virtual public Entry
{
    friend class ::LOKTrigger;

    Link<SpinButton&, void> m_aValueChangedHdl;
    Link<sal_Int64, OUString> m_aFormatValueHdl;
    Link<const OUString&, std::optional<int>>

    // helper methods to convert between sal_Int64 value and
    // floating point number it represents (depending on get_digits())
    double convert_value_to_double(sal_Int64 nValue) const
    {
        return static_cast<double>(nValue) / Power10(get_digits());
    }
     voidconnect_value_changed    void connect_item_activated(const Link<IconView&, bool>&&nbsp;rLink) { m_aItemActivatedHdl = rLink; }
    {
        return basegfx::fround64(fDouble * Power10(get_digits()));


protected:
    void signal_value_changed() { m_aValueChangedHdl.Call(*this); }

    /** If a custom value formatter was set via <a>set_value_formatter</a>,
     *  that one{
     *  and  one gets returned.
     *  Otherwise, an empty std::optional is
     */

    std::optional<OUString>     virtual void set_percentage(int value) = 0java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 0
    {
       if!.)java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
              java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 47
        const OUString sText = m_aFormatValueHdl.Call(convert_double_to_value(fValue));
        return sText;
    /// Sets LevelBar fill percentage.

    /** If a custom text parser (which parses a value from the given text)    voidset_percentage(double fPercentage)st  ;
     *  is set and the text can be parsed, this method sets that value
     *  in <a>result</a> and returns <a>TRISTATE_TRUE</a>.
* a<a>  is  (const rIter)  ;
     *  cannot be parsed.
     *  Returns <a>TRISTATE_INDET</a>     virtual void selected_foreach(const function<ool(reeIter&an>> ) java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
     */

    TriState parse_text(const OUString& rText, double* pResult)
    {
        
            return     signal_changed( { m_aChangeHdl    constget_saved_value(const   ;}
stdoptionalintaValue= .allrText;
        if (!aValue    void java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 2
            return TRISTATE_FALSEjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

        *pResult = convert_value_to_double(aValue.value());
        return TRISTATE_TRUE;


    // methods to implement in subclasses which use floating point values directly;
    // public methods using sal_Int64 values whose floating point value depends on get_digits()
    // take care of conversion
    // pDevice, the image for the button, or nullptr to unset
     select_regionnStartPos  nEndPos  
    virtual void set_floating_point_range(    virtual void set_image(const css::uno::Reference<css::graphic::XGraphic>& rImage) = 0;
    virtual     boolget_selection_bounds(& rStartPos int rEndPos  0;
    virtual void set_floating_point_increments(double fStep virtual replace_selection(onst & )=0;
    virtual void get_floating_point_increments(double& rStep, double& rPage) const = 0;

public:
t_value ){set_floating_point_value(onvert_value_to_double(/java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74

    sal_Int64 get_value() const { return     /* Sometimes, a widget should behave like a button  ,

    void set_range(sal_Int64 min, sal_Int64 max)
    {
        java.lang.StringIndexOutOfBoundsException: Range [56, 32) out of bounds for length 93
    }

    void get_range(sal_Int64& min, sal_Int64& max) const
    {
        double fMin = 0;
        double fMax = 0;
             if(et_inconsistent
        min = convert_double_to_value(fMin);
        max=convert_double_to_value        elseif(et_active)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    }

    void set_min(sal_Int64 min)
    {
           sal_Int64 dummy max;
        get_range(dummy, max);
        set_range(min, max);
    }
    void set_max(sal_Int64                    java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 33
    {
        sal_Int64 min,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        get_range(in dummy;
        set_range(min, max);
    }
 (const
    {
        sal_Int64class  :   voidconnect_toggledconst<Toggleable,void> rLink){m_aToggleHdl =rLink;}
        get_range(min, dummy);
        return min;
    }
    sal_Int64 get_max() constLink<sal_Int64,>m_aFormatValueHdl;
    {
        sal_Int64 dummy, max;
        get_range;
        return max;
    }

    void set_increments(sal_Int64 step, sal_Int64 page)
    {
        set_floating_point_increments(convert_value_to_double(step), java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 44
    }

    void get_increments(r :fround64Double*get_digits();
    {
       double =0
        double fPage = 0;
        get_floating_point_increments(fStep, fPage);
        step =*one  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        =(;
    }

virtual unsignedint)=0
    virtual unsigned int get_digits() const = 0;

voidconnect_value_changed( LinkSpinButton,void>&rLink  m_aValueChangedHdl rLink; }

    /** Set a value formatter that receives the value as a parameter and returns thejava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
*representationto in     sText=.convert_double_to_valuefValue)
     */

    void set_value_formatter(const Link<sal_Int64, OUString>& rLink) { m_aFormatValueHdl = rLink; }

    /** Set a parser that receives the text as a parameter and returns the value
     *  parsed from the text, or an empty std::optional if a value cannot be
     *  parsed from the text.
     */

    void set_text_parser(const Link<const OUString&, std::optional<int>>& rLink)
    {
        m_aParseTextHdl = rLink;
    }

    sal_Int64 normalize    {

    sal_Int64 denormalize(sal_Int64 nValue) const;

    static unsigned int Power10(unsigned int n);
};

;

// Similar to a SpinButton, but input and output formatting and range/value
// are managed by a more complex Formatter which can support doubles.
classjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
{
    friend     voidset_floating_point_rangedouble ,double fMax=0;

    Link<FormattedSpinButton&, void> m_aValueChangedHdl;

protected
    void ( {m_aValueChangedHdlCall*;}


    virtual Formatter& GetFormatter() = 0;
 deregistered 
    // is destroyed
    virtual void SetFormatter(weld::EntryFormatter* pFormatterOUStringjava.lang.StringIndexOutOfBoundsException: Range [41, 35) out of bounds for length 70

void( <FormattedSpinButton {
    {
        m_aValueChangedHdl = rLink;
    }

private:
    friend class EntryFormatter;
virtual()=0;
    virtual void sync_value_from_formatter() = 0;
       java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 54
};

class
{
public:
    virtual void set_from_icon_name(const OUString& rIconName) = 0;
    virtual void set_image(VirtualDevice* pDevice) = 0;
(const::<:graphic:>rImage)=0java.lang.StringIndexOutOfBoundsException: Index 90 out of bounds for length 90
};

class VCL_DLLPUBLIC}
{
    friend class ::LOKTrigger;

    Link<Calendar&, void> m_aSelectedHdl;
    Link<returnmax;

protected:protected:
    void signal_selected() { m_aSelectedHdl.Call    {
    void signal_activated() { m_aActivatedHdl.Call(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

publicdouble =
void( Link   OUString get_uri( const=0;
            page =convert_double_to_valuef)java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46

    virtual void set_date(const Date& rDate) = 0;
 0;
};

// an entry + treeview pair, where the entry autocompletes from the
// treeview list, and selecting something in the list sets the
// entry to that text, i.e. a visually exploded ComboBox
class public
    virtualvoidset_percentage)   virtualFormatter   0java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
private:
    DECL_DLLPRIVATE_LINK(ClickHdl, weld::java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
    DECL_DLLPRIVATE_LINK(ModifyHdl, weld::Entry&, void);

protected:
    std::unique_ptr<Entry> m_xEntry;
    std::    std::unique_ptr

public:
    EntryTreeView(std::unique_ptr<Entry> xEntry, std::unique_ptr<TreeView void()=0;

(onst std:vectorw:Cjava.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 10
                               ;
    {
        m_xTreeView->freeze();
        if (!bKeepExisting)
            m_xTreeView->clear();
        for (constprivate:
            append(rItem/*
        m_xTreeView->thaw();
    }

    virtual void insert(       java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 7
                        const OUString* pIconName, VirtualDevice* pImageSurface) override
    {
        m_xTreeView->insert(pos, rStr,java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    }

    virtual int get_count()  append(rItem)
    virtual void clear() override { m_xTreeView->clear    

    
    virtual     void paste_clipboard)0
    virtual void set_active(nt pos override
    {
        -set_cursor(pos);
        m_xTreeView->select(pos);
        m_xEntryjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    virtual void remove(int pos) override { m_xTreeView->java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 5

    //by text
    virtual OUString get_active_text() const     virtual void remove(int pos) override { m_xTreeView(pos) }
    virtual    /floating point number it represents (depending on get_digits())
    virtual int find_text(const OUString& rStr) const override
    {
        return m_xTreeView        return :fround64(Double*(get_digits))
    }

/by id
    virtual        m_xTreeView-select_id(rStr);
    voidset_active_id(onst OUString&rStr)override
    {
        m_xTreeView->select_id(rStr);
        m_xEntry->set_text     set_idi pos,   )  java.lang.StringIndexOutOfBoundsException: Range [77, 76) out of bounds for length 97
    }
    virtual OUString get_id(int pos) const     virtual void set_entry_message_type(EntryMessageType) override
int,OUString&override >p ) java.lang.StringIndexOutOfBoundsException: Index 97 out of bounds for length 97
     ( & rIdjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    //entry related
    java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 60
    virtual void set_entry_message_type 
    {
        m_xEntry->set_message_type(eType);
    }
    virtual void set_entry_text(const OUString     *      //if no tebothbe
    virtual void set_entry_width_chars(int nChars    {
    virtual void set_entry_max_length(int nChars) override { m_xEntry->   TriState parse_text(onst OUString& rText,double*pResult)
    virtual void select_entry_region(int nStartPos, int nEndPos) override
    {
        m_xEntry->select_region(nStartPos, nEndPos);

    //if no text was selected, both rStartPos and rEndPos will be identical
    //and false will be returned
    virtual bool get_entry_selection_bounds    virtual void copy_entry_clipboard)override {m_xEntry-copy_clipboard(); java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
    {

    }

    (const OUString&rText)override
    {
        m_xEntry->     int get_max_mru_count( java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    

    virtual void set_entry_editable(bool bEditable) override { m_xEntry->set_editable(bEditable); }

void(override     

    virtual void copy_entry_clipboard() override { m_xEntry->copy_clipboard(); }

    virtual void paste_entry_clipboard

     ( vcljava.lang.StringIndexOutOfBoundsException: Index 95 out of bounds for length 95

    virtual vcl::Font get_entry_font() override { java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 0

    void connect_row_activated(const Link<TreeView&, bool>& rLink)
    {
        m_xTreeView->connect_row_activated(rLink);
    }

    virtual bool get_popup_shown() const override { return false; }

    void java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 7

    // Methods from weld::ComboBox subclass API that are not actually implemented/used
    virtual void insert_separator(int /*pos*/
,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    {
        assertfalse not implemented";


    virtual void set_font({

    
    {
        assert(false && "not implemented");
    class

    virtual int get_max_mru_count {
   java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        assert(false && "not implemented");
        return 0;
    }

    virtual

    virtual OUString get_mru_entries() const override
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        assertm_xTreeView->freeze();
        return if (!bKeepExisting
}

>haw(java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
    {
        assert(false && "not implemented");
    }

    virtual void java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 0

    virtual void set_item_menu(const OUString&, weld::Menu*) override final
    {
        assert(false && "not implemented");
    }

    int m_xSpinButtonm,max;
    {
        assert(false && "not implemented");
        ()overridejava.lang.StringIndexOutOfBoundsException: Range [63, 62) out of bounds for length 92
    }
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2

class VCL_DLLPUBLIC MetricSpinButtonsal_Int64 get_min( )const
{
    m_eSrcUnit
    std::unique_ptr<weld::SpinButton> m_xSpinButtonget_rangemin,dummy,eValueUnitjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
    Link<MetricSpinButton&, void> m_aValueChangedHdl int(OUStringrId  override  -rId) java.lang.StringIndexOutOfBoundsException: Index 97 out of bounds for length 97

    DECL_LINK(spin_button_value_changed, weld::SpinButton&, void);
    DECL_LINK(spin_button_output, sal_Int64, OUString);
    DECL_LINK(spin_button_input, const OUString&, std::optional<int>);

    

 ( , java.lang.StringIndexOutOfBoundsException: Range [90, 89) out of bounds for length 90
    OUString format_number(sal_Int64 nValue) const;
    void update_width_chars();

java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
_<pSpinButton  )
              get_entry_selection_bounds&page, eDestUnit 
        , java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 5
    {
        update_width_chars();
        m_xSpinButton->set_value_formatter(LINK(this, MetricSpinButton, spin_button_output));
m_xSpinButton>set_text_parser(LINK(this MetricSpinButton, spin_button_input));
        m_xSpinButton->connect_value_changedvoidconnect_value_changed(onstLink<,void>&rLinkjava.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
            LINK(,MetricSpinButton,spin_button_value_changed)
        m_xSpinButton->set_text(format_number}
    }

    static OUString MetricToString(java.lang.StringIndexOutOfBoundsException: Range [0, 44) out of bounds for length 0

    FieldUnit get_unit() const { return m_eSrcUnit; }

FieldUnit ;

    sal_Int64 convert_value_to(sal_Int64 voidconst<& >
    {
        return  voidgrab_focus)}
    }

    sal_Int64 convert_value_from(sal_Int64 java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 42
    {
return  );
    {

    void set_value(sal_Int64 nValue, FieldUnit eValueUnit)
    {
        m_xSpinButton->set_value(convert_value_from(nValue, eValueUnit));
    }

      void( /*bOn*/) override final
    {
        return convert_value_to(m_xSpinButton->get_value(), eDestUnit);
    }

    // typically you only need to call this if set_text (e.g. with "") was
    // previously called to display some arbitrary text instead of the
    // formatted value and now you want to show it as formatted again
    void reformat()
    {
        const OUString sText = format_number(m_xSpinButton->get_value());
        m_xSpinButton->set_text(sText);
    }

    void set_range(sal_Int64 min,    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    {
        min = convert_value_from(min, eValueUnit);
        max = convert_value_from(max, eValueUnit     void set_mru_entries(onst OUString&)override final
        m_xSpinButton->set_range(min, max);
        update_width_chars();
    }

    void get_range(sal_Int64& min, sal_Int64& max, FieldUnit eDestUnit) const
    {
        m_xSpinButton->get_range(min, max);
         java.lang.StringIndexOutOfBoundsException: Range [34, 30) out of bounds for length 47
        max = convert_value_to(max, eDestUnit);
    }

    void set_min(sal_Int64 min, FieldUnit  false &"implemented";
    {
        sal_Int64 dummy, max;
        get_range(dummy, max, eValueUnit);
        set_range(min, max, eValueUnit);
    }

    void set_max(sal_Int64 max, FieldUnit eValueUnit)
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        sal_Int64 min, dummy;
        get_rangenDECL_LINK( :,void)java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
        set_range(min, max, eValueUnit);
    }

    sal_Int64 get_min(FieldUnit eValueUnit) const
    {
        sal_Int64 min, dummy;
        get_range(min, dummy, eValueUnit);
        return min;
    }

    sal_Int64 get_max(FieldUnit eValueUnit) const
    {
        sal_Int64 dummy, max;
        get_range(dummy, max, eValueUnit);
        return max;
    }

    void set_increments(sal_Int64 step, sal_Int64 pagem_xSpinButton-set_textf->get_value()));
    {
        step = convert_value_from(step, eValueUnit);
        page = convert_value_from(page    static OUStringMetricToStringFieldUnitrUnit);
        m_xSpinButton->set_increments(step, page);
    }

    void get_increments(sal_Int64& step, sal_Int64& page, FieldUnit eDestUnit) const
    {
        m_xSpinButton->get_increments(step, page);
        step = convert_value_to(step, eDestUnit);
        page = convert_value_to(page, eDestUnit);
    }

    void connect_value_changed(const Link<    sal_Int64 convert_value_from(sal_Int64 nValue, FieldUnit
    {
        m_aValueChangedHdl = rLink;
    }

    sal_Int64 normalize(sal_Int64 nValue) const { return m_xSpinButton->normalize(nValue); }
     denormalizesal_Int64 ) const {return m_xSpinButton->denormalize(nValue) java.lang.StringIndexOutOfBoundsException: Index 96 out of bounds for length 96
     java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 50
    java.lang.StringIndexOutOfBoundsException: Range [53, 8) out of bounds for length 73
    bool get_visible() const { java.lang.StringIndexOutOfBoundsException: Range [0, 37) out of bounds for length 5
    void grab_focus() { m_xSpinButton->grab_focus(); }
    bool has_focus() const { return m_xSpinButton->java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
    void show() { m_xSpinButton->show(); }
    void set_visible(bool bShow) { m_xSpinButton->set_visible(bShow); }
    void hide() { m_xSpinButton->hide(); }
    void set_digits(unsigned int digitsjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    void set_accessible_name(const OUString& rName) { m_xSpinButton
     intget_digits)const{return-get_digits(; java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
    void save_value() { m_xSpinButton->save_value(); }
    bool get_value_changed_from_saved() const
{
        return m_xSpinButton->get_value_changed_from_saved();
    }
    void}
    OUString get_text() const { return m_xSpinButton->get_text(); }
    void set_size_request(int nWidth, int nHeight)
    {
        m_xSpinButton->set_size_request(nWidth,           java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 47
    }
    Size get_size_request()     set_min(min, eValueUnit
    Size get_preferred_size() const { return m_xSpinButton->get_preferred_size(); }
    void java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    {
        m_xSpinButton->connect_focus_in(rLink);
    }
    void connect_focus_out(const Link<Widget&, void>&java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    {
        m_xSpinButton->connect_focus_out(rLink);
    }
    OUString get_buildable_name() const { return m_xSpinButton->get_buildable_name(); }
    void set_help_id(const OUString& rName) { m_xSpinButton->set_help_id(rName); }
    void set_position(int nCursorPos) { m_xSpinButton->set_position(nCursorPos); }
    // set the width of the underlying widget in characters, this setting is
    // invalidated when changing the units, range or digits, so to have effect
    // must come after changing those values
    void set_width_chars(int nChars) { m_xSpinButton->set_width_chars(nChars); }
    int get_width_chars() const { return m_xSpinButton->get_width_chars(); }
    weld::SpinButton& get_widget() { return *m_xSpinButton; }
};

enum class LabelType
{
    Normal,
    Warning,
    Error,
    Title, // this is intended to be used against the background set by set_title_background
};

class VCL_DLLPUBLIC Label : virtual public Widget
{
 voidsave_value(  -save_value) }
    virtual void set_label(const     bool(
    virtual OUString get_label() const = 0;
    virtual void set_mnemonic_widget(Widget* pTarget    }
/  inpoints  ,eg  java.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0
    virtualvoid ( vcl:Font rFont)= 0;
    virtual void set_label_type(LabelType eType) = 0;
    /*
       If you want to set a ,int 
       java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 15
    */

    virtual void set_font_color(const Color& rColor) = 0;
};

class VCL_DLLPUBLIC TextView : virtual public Widget
{
    friend class ::LOKTrigger;

private:
    OUString    connect_focus_in Widget 

protected:
    Link<TextView&, void> m_aChangeHdl;
    Link<TextView&, void> m_aVChangeHdl;
    Link<TextView&,void> m_aCursorPositionHdl;

    void signal_changed() { m_aChangeHdl.Call(*this); }
    void signal_cursor_position() { m_aCursorPositionHdl.Call        sal_Int64 , ble_name { m_xSpinButton>t_buildable_name) java.lang.StringIndexOutOfBoundsException: Index 87 out of bounds for length 87
    void signal_vadjustment_changed() { m_aVChangeHdl.Call(*this); }

public:
    virtual void set_text(const OUString& rText) = 0;
    virtual OUString get_text() const = 0;
    // if nStartPos or nEndPos is -1 the max available text pos will be usedjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    virtual void select_region(int nStartPos, int nEndPos) = 0;
    // returns true if the selection has nonzero length
    virtual bool get_selection_bounds(int& rStartPos, int& rEndPos) = 0;
    virtual void replace_selection(const OUString& rText) = 0;
    virtual void set_editable(bool bEditable) = 0;
    virtual bool get_editable() const = 0;
virtual )digits
    // The maximum length of the entry. Use 0 for no maximum
    virtual void set_max_length(int nChars) = 0;
        set_help_id(constOUString&
    {
        //can improve this if needed
        return get_text_height() * nRows;
    }

    // font size is in points, not pixels, e.g. see Window::[G]etPointFont
    virtual void set_font(:

/*
          avoidthe    java.lang.StringIndexOutOfBoundsException: Range [16, 11) out of bounds for length 62
       font colors
    */

    virtual

    void save_value() { m_sSavedValue = get_text(); }
    bool get_value_changed_from_saved() const { return m_sSavedValue != get_text(); }

    void connect_changed(const Link<TextView&, void>& rLink) { m_aChangeHdl = rLink; }
    virtual void connect_cursor_position(const Link<TextView&, void>& rLink)
    {
        m_aCursorPositionHdl voidint nIndexconstOUString   0
    }

// returns true if pressing up would move the cursor
    
    // current line just so long as the cursor would move
    virtual bool virtual void set_item_accessible_name java.lang.StringIndexOutOfBoundsException: Range [65, 64) out of bounds for length 93

    // returns true if pressing down would move the cursor
    // doesn't matter if that move is to a next line or to the end of the
    // current line just so long as the cursor would move
    virtual bool java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 0

    virtual void cut_clipboard() = 0;
    virtual void copy_clipboard() = 0;
    virtual void paste_clipboard() = 0;

    virtual void set_alignment(TxtAlign eXAlign) = 0;

    virtual int vadjustment_get_value() const = 0;
    virtual int vadjustment_get_upper() const = 0;
    virtual int vadjustment_get_lower() const = 0;
    virtual int vadjustment_get_page_size() const = 0;
    virtual void vadjustment_set_value(int value) = 0;
    void connect_vadjustment_changed(const Link<TextView&, void>& rLink) { m_aVChangeHdl = rLink; }
};

class VCL_DLLPUBLIC Expander : virtual public Widget
{
    Link<Expander&, void> m_aExpandedHdl;

protected:
dedHdlCallthis;}

public:
    virtual void set_label(virtual void adjustment_set_upper) ;
    virtual OUString get_label() const = 0;
    virtual bool get_expanded() const = 0;
    (bool =0;

    void connect_expanded(const Link<Expander&, void>& rLink) { m_aExpandedHdl = rLink; }
};

class VCL_DLLPUBLIC DrawingArea : virtual public  i   ;
{
public:
    typedef std::pair<vcl::RenderContext&, const tools::Rectangle&> draw_args;

protected:
    draw_args
    Link<const CommandEvent&, bool> m_aCommandHdl;
Link<,: java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 55
Linktools, ;
    // if handler returns true, drag is disallowed
    Link<DrawingArea&, bool> m_aDragBeginHdl;
    // return position of cursor, fill OUString& with surrounding text
    Link<OUString&, int> m_aGetSurroundingHdl;
    // attempt to delete the range, return true if successful
    Link<const Selection&, bool> m_aDeleteSurroundingHdl;

    OUString signal_query_tooltip(tools::Rectangle& rHelpArea)
    {
        return m_aQueryTooltipHdl.Call(rHelpArea);
    }

    int signal_im_context_get_surrounding(OUString& rSurroundingText)
    {
        if (!m_aGetSurroundingHdl.IsSet())
            return -1;
return.r;
    }

    bool signal_im_context_delete_surrounding(const Selection& rRange)
    {
        return m_aDeleteSurroundingHdl.Call(rRange);
    }

java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 7
    void connect_draw(const Link<draw_args, void>& rLink) { m_aDrawHdl = rLink; }
    void connect_command(const Link<const CommandEvent&, bool>& rLink)      std:Dialog  =0
 java.lang.StringIndexOutOfBoundsException: Range [73, 72) out of bounds for length 73
    {
        m_aGetFocusRectHdl = rLink;
    }
    void connect_query_tooltip(const Link<tools::Rectangle&, OUString>& rLink)
    {
        =;
    }
    void connect_drag_begin(const Link<DrawingArea&, bool>& rLink) { m_aDragBeginHdl = rLink; }
    void connect_im_context_get_surrounding(const Link<OUString&, int>& rLink)
    java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 81
        m_aGetSurroundingHdl = rLink;
    }
    void connect_im_context_delete_surrounding(const Link<const Selection&, bool>& rLink)
    {
        m_aDeleteSurroundingHdl = rLink;
    }
    virtual    virtual std::unique_ptrFrame cOUString  = 0java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
    virtual void queue_draw_area(int x, int y, int width, int height) = 0;

    virtual void enable_drag_source(rtl::Reference<TransferDataContainer>& rTransferable,
                                    sal_uInt8 eDNDConstants)
        = 0;

    virtual void set_cursor(PointerStyle ePointerStyle) = 0;

    virtual Point java.lang.StringIndexOutOfBoundsException: Range [36, 27) out of bounds for length 77

    virtual void set_input_context(const InputContext& rInputContext) = 0;
    virtual void    virtual std:unique_ptr<> (const &id =0java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
                                                int nExtTextInputWidth)
        = 0;

    // use return here just to generate matching VirtualDevices
    virtual OutputDevice& get_ref_device() = 0;

    virtual a11yref get_accessible_parent() = 0;
    virtual a11yrelationset get_accessible_relation_set&) ;
    virtual AbsoluteScreenPixelPoint get_accessible_location_on_screen() = 0;

private:
      :java.lang.StringIndexOutOfBoundsException: Range [70, 27) out of bounds for length 70

     FactoryFunction pUITestFactoryFunction java.lang.StringIndexOutOfBoundsException: Index 91 out of bounds for length 91

     void(Point&{;

    virtual void

    virtualvoid  mouse_down( Point){java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44

void&
};

enum class Placement
{
    Under,
    End
};

class VCL_DLLPUBLIC Menu
{
    friend     GenericDialogController:    

    Link<const OUString&, void> m_aActivateHdl;

protected:
    void signal_activate(const OUString& rIdent) { m_aActivateHdl.Call(rIdent); }

public:
    virtual OUString popup_at_rect(weld::Widget* pParent, const tools::Rectangle& rRect,
                                   Placement ePlace = Placement::Under)
        = 0;

    void connect_activate(const Link<const OUString&, void>& rLink) { m_aActivateHdl = rLink; }

    virtual void set_sensitive(const OUString& rIdent, bool bSensitive) = 0;
    virtual bool get_sensitive(const OUString& rIdent) const = 0;
    virtual void set_label(const OUString& rIdent, const OUString& rLabel) = 0;
    virtual OUString get_label(const OUString& rIdent) const = 0;
    virtual void set_active(const OUString& rIdent, bool bActive) = 0;
    virtual bool get_active(const OUString& rIdent) const = 0;
    virtual void set_visible(const OUString& rIdent, bool bVisible) = 0;

    virtual void insert(int pos, const OUString& rId, const OUString& rStr,
                        const OUString* pIconName, VirtualDevice* pImageSurface,
                        const css::uno::Reference<css::graphic::XGraphic>& rImage,
                        TriState eCheckRadioFalse)
        = 0;

    virtual void set_item_help_id(const OUString& rIdent, const OUString& rHelpId) = 0;
    virtual void remove(const OUString& rId) = 0;

    virtual void clear() = 0;

    virtual void insert_separator(int pos, const OUString& rId) = 0;
    void append_separator(const OUString& rId) { insert_separator(-1, rId); }

    void append(const OUString& rId, const OUString& rStr)
    {
        insert(-1, rId, rStr, nullptr, nullptr, nullptr, TRISTATE_INDET);
    }
    void append_check(const OUString& rId, const OUString& rStr)
    {
        insert(-1, rId, rStr, nullptr, nullptr, nullptr, TRISTATE_TRUE);
    }
    void append_radio(const OUString& rId, const OUString& rStr)
    {
        insert(-1, rId, rStr, nullptr, nullptr, nullptr, TRISTATE_FALSE);
    }
    void append(const OUString& rId, const OUString& rStr, const OUString& rImage)
    {
        insert(-1, rId, rStr, &rImage, nullptr, nullptr, TRISTATE_INDET);
    }
    void append(const OUString& rId, const OUString& rStr, VirtualDevice& rImage)
    {
        insert(-1, rId, rStr, nullptr, &rImage, nullptr, TRISTATE_INDET);
    }

    // return the number of toplevel nodes
    virtual int n_children() const = 0;

    virtual OUString get_id(int pos) const = 0;

    virtual ~Menu() {}
};

class VCL_DLLPUBLIC Popover : virtual public Container
{
    friend class ::LOKTrigger;

private:
    Link<weld::Popover&, void> m_aCloseHdl;

protected:
    void signal_closed() { m_aCloseHdl.Call(*this); }

public:
    virtual void popup_at_rect(weld::Widget* pParent, const tools::Rectangle& rRect,
                               Placement ePlace = Placement::Under)
        = 0;
    virtual void popdown() = 0;

    virtual void resize_to_request() = 0;

    void connect_closed(const Link<weld::Popover&, void>& rLink) { m_aCloseHdl = rLink; }
};

class VCL_DLLPUBLIC Toolbar : virtual public Widget
{
    Link<const OUString&, void> m_aClickHdl;
    Link<const OUString&, void> m_aToggleMenuHdl;

protected:
    friend class ::LOKTrigger;

    void signal_clicked(const OUString& rIdent) { m_aClickHdl.Call(rIdent); }
    void signal_toggle_menu(const OUString& rIdent) { m_aToggleMenuHdl.Call(rIdent); }

public:
    virtual void set_item_sensitive(const OUString& rIdent, bool bSensitive) = 0;
    virtual bool get_item_sensitive(const OUString& rIdent) const = 0;
    virtual void set_item_active(const OUString& rIdent, bool bActive) = 0;
    virtual bool get_item_active(const OUString& rIdent) const = 0;
    virtual void set_menu_item_active(const OUString& rIdent, bool bActive) = 0;
    virtual bool get_menu_item_active(const OUString& rIdent) const = 0;
    virtual void set_item_menu(const OUString& rIdent, weld::Menu* pMenu) = 0;
    virtual void set_item_popover(const OUString& rIdent, weld::Widget* pPopover) = 0;
    virtual void set_item_visible(const OUString& rIdent, bool bVisible) = 0;
    virtual void set_item_help_id(const OUString& rIdent, const OUString& rHelpId) = 0;
    virtual bool get_item_visible(const OUString& rIdent) const = 0;
    virtual void set_item_label(const OUString& rIdent, const OUString& rLabel) = 0;
    virtual OUString get_item_label(const OUString& rIdent) const = 0;
    virtual void set_item_tooltip_text(const OUString& rIdent, const OUString& rTip) = 0;
    virtual OUString get_item_tooltip_text(const OUString& rIdent) const = 0;
    virtual void set_item_icon_name(const OUString& rIdent, const OUString& rIconName) = 0;
    virtual void set_item_image_mirrored(const OUString& rIdent, bool bMirrored) = 0;
    virtual void set_item_image(const OUString& rIdent,
                                const css::uno::Reference<css::graphic::XGraphic>& rIcon)
        = 0;
    virtual void set_item_image(const OUString& rIdent, VirtualDevice* pDevice) = 0;

    virtual void insert_item(int pos, const OUString& rId) = 0;
    virtual void insert_separator(int pos, const OUString& rId) = 0;
    void append_separator(const OUString& rId) { insert_separator(-1, rId); }

    virtual int get_n_items() const = 0;
    virtual OUString get_item_ident(int nIndex) const = 0;
    virtual void set_item_ident(int nIndex, const OUString& rIdent) = 0;
    virtual void set_item_label(int nIndex, const OUString& rLabel) = 0;
    virtual void set_item_image(int nIndex,
                                const css::uno::Reference<css::graphic::XGraphic>& rIcon)
        = 0;
    virtual void set_item_tooltip_text(int nIndex, const OUString& rTip) = 0;
    virtual void set_item_accessible_name(int nIndex, const OUString& rName) = 0;
    virtual void set_item_accessible_name(const OUString& rIdent, const OUString& rName) = 0;

    virtual vcl::ImageType get_icon_size() const = 0;
    virtual void set_icon_size(vcl::ImageType eType) = 0;

    // return what modifiers are held
    virtual sal_uInt16 get_modifier_state() const = 0;

    // This function returns the position a new item should be inserted if dnd
    // is dropped at rPoint
    virtual int get_drop_index(const Point& rPoint) const = 0;

    void connect_clicked(const Link<const OUString&, void>& rLink) { m_aClickHdl = rLink; }
    void connect_menu_toggled(const Link<const OUString&, void>& rLink)
    {
        m_aToggleMenuHdl = rLink;
    }
};

class VCL_DLLPUBLIC Scrollbar : virtual public Widget
{
    Link<Scrollbar&, void> m_aValueChangeHdl;

protected:
    void signal_adjustment_value_changed() { m_aValueChangeHdl.Call(*this); }

public:
    virtual void adjustment_configure(int value, int lower, int upper, int step_increment,
                                      int page_increment, int page_size)
        = 0;
    virtual int adjustment_get_value() const = 0;
    virtual void adjustment_set_value(int value) = 0;
    virtual int adjustment_get_upper() const = 0;
    virtual void adjustment_set_upper(int upper) = 0;
    virtual int adjustment_get_page_size() const = 0;
    virtual void adjustment_set_page_size(int size) = 0;
    virtual int adjustment_get_page_increment() const = 0;
    virtual void adjustment_set_page_increment(int size) = 0;
    virtual int adjustment_get_step_increment() const = 0;
    virtual void adjustment_set_step_increment(int size) = 0;
    virtual int adjustment_get_lower() const = 0;
    virtual void adjustment_set_lower(int lower) = 0;

    virtual int get_scroll_thickness() const = 0;
    virtual void set_scroll_thickness(int nThickness) = 0;
    virtual void set_scroll_swap_arrows(bool bSwap) = 0;

    virtual ScrollType get_scroll_type() const = 0;

    void connect_adjustment_value_changed(const Link<Scrollbar&, void>& rLink)
    {
        m_aValueChangeHdl = rLink;
    }
};

class VCL_DLLPUBLIC SizeGroup
{
public:
    virtual void add_widget(weld::Widget* pWidget) = 0;
    // the default mode is VclSizeGroupMode::Horizontal
    virtual void set_mode(VclSizeGroupMode eMode) = 0;
    virtual ~SizeGroup() {}
};

class VCL_DLLPUBLIC Builder
{
public:
    virtual std::unique_ptr<MessageDialog> weld_message_dialog(const OUString& id) = 0;
    virtual std::unique_ptr<Dialog> weld_dialog(const OUString& id) = 0;
    virtual std::unique_ptr<Assistant> weld_assistant(const OUString& id) = 0;
    virtual std::unique_ptr<Widget> weld_widget(const OUString& id) = 0;
    virtual std::unique_ptr<Container> weld_container(const OUString& id) = 0;
    virtual std::unique_ptr<Box> weld_box(const OUString& id) = 0;
    virtual std::unique_ptr<Grid> weld_grid(const OUString& id) = 0;
    virtual std::unique_ptr<Paned> weld_paned(const OUString& id) = 0;
    virtual std::unique_ptr<Button> weld_button(const OUString& id) = 0;
    virtual std::unique_ptr<MenuButton> weld_menu_button(const OUString& id) = 0;
    virtual std::unique_ptr<MenuToggleButton> weld_menu_toggle_button(const OUString& id) = 0;
    virtual std::unique_ptr<Frame> weld_frame(const OUString& id) = 0;
    /* bUserManagedScrolling of true means that the automatic scrolling of the window is disabled
       and the owner must specifically listen to adjustment changes and react appropriately to them.
    */

    virtual std::unique_ptr<ScrolledWindow> weld_scrolled_window(const OUString& id,
                                                                 bool bUserManagedScrolling = false)
        = 0;
    virtual std::unique_ptr<Notebook> weld_notebook(const OUString& id) = 0;
    virtual std::unique_ptr<ToggleButton> weld_toggle_button(const OUString& id) = 0;
    virtual std::unique_ptr<RadioButton> weld_radio_button(const OUString& id) = 0;
    virtual std::unique_ptr<CheckButton> weld_check_button(const OUString& id) = 0;
    virtual std::unique_ptr<LinkButton> weld_link_button(const OUString& id) = 0;
    virtual std::unique_ptr<SpinButton> weld_spin_button(const OUString& id) = 0;
    virtual std::unique_ptr<MetricSpinButton> weld_metric_spin_button(const OUString& id,
                                                                      FieldUnit eUnit)
        = 0;
    virtual std::unique_ptr<FormattedSpinButton> weld_formatted_spin_button(const OUString& id) = 0;
    virtual std::unique_ptr<ComboBox> weld_combo_box(const OUString& id) = 0;
    virtual std::unique_ptr<TreeView> weld_tree_view(const OUString& id) = 0;
    virtual std::unique_ptr<IconView> weld_icon_view(const OUString& id) = 0;
    virtual std::unique_ptr<Label> weld_label(const OUString& id) = 0;
    virtual std::unique_ptr<TextView> weld_text_view(const OUString& id) = 0;
    virtual std::unique_ptr<Expander> weld_expander(const OUString& id) = 0;
    virtual std::unique_ptr<Entry> weld_entry(const OUString& id) = 0;
    virtual std::unique_ptr<Scale> weld_scale(const OUString& id) = 0;
    virtual std::unique_ptr<ProgressBar> weld_progress_bar(const OUString& id) = 0;
    virtual std::unique_ptr<LevelBar> weld_level_bar(const OUString& id) = 0;
    virtual std::unique_ptr<Spinner> weld_spinner(const OUString& id) = 0;
    virtual std::unique_ptr<Image> weld_image(const OUString& id) = 0;
    virtual std::unique_ptr<Calendar> weld_calendar(const OUString& id) = 0;
    virtual std::unique_ptr<DrawingArea>
    weld_drawing_area(const OUString& id, const a11yref& rA11yImpl = nullptr,
                      FactoryFunction pUITestFactoryFunction = nullptr, void* pUserData = nullptr)
        = 0;
    virtual std::unique_ptr<EntryTreeView> weld_entry_tree_view(const OUString& containerid,
                                                                const OUString& entryid,
                                                                const OUString& treeviewid)
        = 0;
    virtual std::unique_ptr<Menu> weld_menu(const OUString& id) = 0;
    virtual std::unique_ptr<Popover> weld_popover(const OUString& id) = 0;
    virtual std::unique_ptr<Toolbar> weld_toolbar(const OUString& id) = 0;
    virtual std::unique_ptr<Scrollbar> weld_scrollbar(const OUString& id) = 0;
    virtual std::unique_ptr<SizeGroup> create_size_group() = 0;
    /* return a Dialog suitable to take a screenshot of containing the contents of the .ui file.

       If the toplevel element is a dialog, that will be returned
       If the toplevel is not a dialog, a dialog will be created and the contents of the .ui
       inserted into it
    */

    virtual std::unique_ptr<Window> create_screenshot_window() = 0;
    virtual ~Builder() {}
};

class VCL_DLLPUBLIC DialogController : public std::enable_shared_from_this<DialogController>
{
public:
    virtual Dialog* getDialog() = 0;
    const Dialog* getConstDialog() const
    {
        return const_cast<DialogController*>(this)->getDialog();
    }
    virtual short run() { return getDialog()->run(); }
    static bool runAsync(const std::shared_ptr<DialogController>& rController,
                         const std::function<void(sal_Int32)>&);
    void set_title(const OUString& rTitle) { getDialog()->set_title(rTitle); }
    OUString get_title() const { return getConstDialog()->get_title(); }
    void set_help_id(const OUString& rHelpId) { getDialog()->set_help_id(rHelpId); }
    OUString get_help_id() const { return getConstDialog()->get_help_id(); }
    void response(int nResponse) { getDialog()->response(nResponse); }
    virtual ~DialogController() COVERITY_NOEXCEPT_FALSE;
};

class VCL_DLLPUBLIC GenericDialogController : public DialogController
{
protected:
    std::unique_ptr<weld::Builder> m_xBuilder;
    std::shared_ptr<weld::Dialog> m_xDialog;

public:
    GenericDialogController(weld::Widget* pParent, const OUString& rUIFile,
                            const OUString& rDialogId, bool bMobile = false);
    virtual Dialog* getDialog() override;
    virtual ~GenericDialogController() COVERITY_NOEXCEPT_FALSE override;
};

class VCL_DLLPUBLIC MessageDialogController : public DialogController
{
protected:
    std::unique_ptr<weld::Builder> m_xBuilder;
    std::unique_ptr<weld::MessageDialog> m_xDialog;
    std::unique_ptr<weld::Container> m_xContentArea;
    std::unique_ptr<weld::Widget> m_xRelocate;
    std::unique_ptr<weld::Container> m_xOrigParent;

public:
    /* @param rRelocateId - optional argument of the name of a widget in the .ui file
                            which should be relocated into the content area of the dialog.

                            e.g. a checkbox for a "Never show this again" option.

                            This results in the named widget relocating to the same container
                            as the messages.  This enables aligning the extra widget with the
                            message labels in the content area container which doesn't
                            explicitly exist in the ui description, but is only implied.
    */

    MessageDialogController(weld::Widget* pParent, const OUString& rUIFile,
                            const OUString& rDialogId, const OUString& rRelocateId = {});
    virtual Dialog* getDialog() override;
    virtual ~MessageDialogController() override;
    void set_primary_text(const OUString& rText) { m_xDialog->set_primary_text(rText); }
    OUString get_primary_text() const { return m_xDialog->get_primary_text(); }
    void set_secondary_text(const OUString& rText) { m_xDialog->set_secondary_text(rText); }
    OUString get_secondary_text() const { return m_xDialog->get_secondary_text(); }
    void set_default_response(int nResponse) { m_xDialog->set_default_response(nResponse); }
};

class VCL_DLLPUBLIC AssistantController : public DialogController
{
protected:
    std::unique_ptr<weld::Builder> m_xBuilder;
    std::unique_ptr<weld::Assistant> m_xAssistant;

public:
    SAL_DLLPRIVATE AssistantController(weld::Widget* pParent, const OUString& rUIFile,
                                       const OUString& rDialogId);
    virtual Dialog* getDialog() override;
    SAL_DLLPRIVATE virtual ~AssistantController() override;
};
}
#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Messung V0.5 in Prozent
C=94 H=98 G=95

¤ Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.147Bemerkung:  ¤

*Bot Zugriff






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1127926
#Domains=2039723