Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/LibreOffice/vcl/inc/   (Office von Apache Version 25.8.3.2©)  Datei vom 5.10.2025 mit Größe 79 kB image not shown  

Quelle  salvtables.hxx   Sprache: C

 
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 */

#pragma once

#include <vcl/builder.hxx>
#include <vcl/weld.hxx>
#include <vcl/svapp.hxx>
#include <vcl/syswin.hxx>
#include <vcl/settings.hxx>
#include <vcl/virdev.hxx>
#include <vcl/ctrl.hxx>
#include <vcl/toolkit/edit.hxx>
#include <vcl/formatter.hxx>
#include <vcl/toolkit/spinfld.hxx>
#include <vcl/toolkit/fixed.hxx>
#include <vcl/toolkit/fixedhyper.hxx>
#include <vcl/toolkit/lstbox.hxx>
#include <vcl/toolkit/MenuButton.hxx>
#include <vcl/toolkit/prgsbar.hxx>
#include <vcl/toolkit/combobox.hxx>
#include <vcl/tabctrl.hxx>
#include <vcl/layout.hxx>
#include <vcl/toolkit/svtabbx.hxx>
#include <vcl/toolkit/svlbitm.hxx>
#include <o3tl/sorted_vector.hxx>
#include "calendar.hxx"
#include "iconview.hxx"
#include "messagedialog.hxx"
#include "verticaltabctrl.hxx"

namespace vcl
{
class RoadmapWizard;
};

class SalInstanceBuilder : public weld::Builder
{
protected:
    std::unique_ptr<VclBuilder> m_xBuilder;
    VclPtr<vcl::Window> m_aOwnedToplevel;

public:
    SalInstanceBuilder(vcl::Window* pParent, std::u16string_view sUIRoot, const OUString&&nbsp;rUIFile,
                       const css::uno::Reference<css::frame::XFrame>& rFrame
                       = css::uno::Reference<css::frame::XFrame>());

    virtual std::unique_ptr<weld::MessageDialog> weld_message_dialog(const OUString& id) override;

    virtual std::unique_ptr<weld::Dialog> weld_dialog(const OUString& id) override;

    virtual std::unique_ptr<weld::Assistant> weld_assistant(const OUString& id) override;

    virtual std::unique_ptr<weld::Window> create_screenshot_window() override;

    virtual std::unique_ptr<weld::Widget> weld_widget(const OUString& id) override;

    virtual std::unique_ptr<weld::Container> weld_container(const OUString& id) override;

    virtual std::unique_ptr<weld::Box> weld_box(const OUString& id) override;

    virtual std::unique_ptr<weld::Grid> weld_grid(const OUString& id) override;

    virtual std::unique_ptr<weld::Paned> weld_paned(const OUString& id) override;

    virtual std::unique_ptr<::Frameweld_frame OUString&id override

    virtual std::unique_ptr<weld::ScrolledWindow>
    weld_scrolled_window(const OUString& id, *

    virtual std::unique_ptr * License, v. 2.0. If a copy  * file, You can obtain one at http://mozilla.org/MPL/2.0/.

virtual::unique_ptr::Button(constOUString id ;

    virtual ::<weld:MenuButton weld_menu_button OUString) override;

virtual::unique_ptr<::MenuToggleButtonjava.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
    weld_menu_toggle_button(const OUString{

    virtual ::<weldLinkButton>weld_link_button(const & id;

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

    virtual std::constcss:::<cssframe:>& java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76

    virtual std::unique_ptr<weld::java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 0

    virtual std::unique_ptr<weld::Scale> weld_scale(const OUString& id) override;

    virtual std::unique_ptr<weld::ProgressBarjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    virtual std::unique_ptr<weld::java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    virtual std::unique_ptr<weld::Spinner> weld_spinner(const OUString& id) override;

    virtual

    virtual std::unique_ptr<weld::Calendar> weld_calendar(const OUString

    virtual std::unique_ptr<weld::Entry> weld_entry(const OUString& java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    virtual std::unique_ptr

java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
    weld_metric_spin_button(onst OUString&, FieldUnit eUnit) ;

    virtual std::unique_ptr<
    weld_formatted_spin_buttonconstOUString) override

virtual::<weld> weld_frame OUString) ;

virtual:unique_ptr::EntryTreeView>
    weld_entry_tree_view(const OUString& containerid, const OUString& entryid,
                         const OUStringtreeviewid override

    virtual std::unique_ptr<weld::TreeView> java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 0

    virtual std::unique_ptr<weld::IconView> weld_icon_view

    virtual std::unique_ptr<weld::Label> weld_label(const OUString&

    virtual std::unique_ptr<weld::TextView> weld_text_view(const OUString& id) override;

    virtual std::unique_ptr<weld::Expander> weld_expander(const java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 57

    virtual
    (constOUString&idconst& rA11yImpl=nullptr,
                      FactoryFunction pUITestFactoryFunction = nullptr,
                      void pUserData =nullptr) ;

    virtual stdjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    virtual std::unique_ptr<weld:java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    virtual std::unique_ptr<weld::Toolbar> java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    virtual std::unique_ptr<weld::

    virtual std::unique_ptr<weld::SizeGroup> create_size_group() override

    OUString get_current_page_help_id() const;

lInstanceBuilder;
};

     stdunique_ptr::> weld_calendar& id;
{
:
    VclPtr<PopupMenu>java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

private:
    bool m_bTakeOwnership;
   sal_uInt16 ;

        weld_metric_spin_button& ,  eUnit;

public:
    SalInstanceMenu(PopupMenu* pMenu, bool     (constOUString);
     OUString(weldWidget*pParentconsttools:RectanglerRect
                                   weld
    virtual     weld_entry_tree_view(onst OUString&containerid,constOUString,
virtual get_sensitive OUString& ) constoverride
    virtual void set_active(const OUString& rIdent, bool bActive) override;
     bool(const OUStringrIdent)constoverride
    virtual void set_label(const OUString& rIdentjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    virtualjava.lang.StringIndexOutOfBoundsException: Range [11, 5) out of bounds for length 81
    virtual set_visibleOUString, bool ) override
    virtual void clear() override
    virtual insert(nt,  OUString const & ,
                        const OUString* pIconName, VirtualDevice* pImageSurface
                         ::uno:Reference::::XGraphicrImage
java.lang.StringIndexOutOfBoundsException: Range [70, 60) out of bounds for length 60
    virtual void insert_separator(int pos, const OUString& rId
String&rHelpId)override
    virtual void remove(const OUString& 
virtualOUStringget_id ) constoverride;
    virtual int n_children() 
    * getMenu)const
    virtual ~SalInstanceMenu
};

class SalFlashAttention;

class VCL_DLLPUBLIC SalInstanceWidget
{
protected:
   VclPtr<::Window;
    std::     ~() override;
    SalInstanceBuilder*java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

private:
   (EventListenerVclWindowEventvoid)
    DECL_LINK, &, bool m_bTakeOwnershipjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    DECL_LINK(MouseEventListener
    DECL_LINK(SettingsChangedHdlSalInstanceMenu* pMenu bool bTakeOwnership
DECL_LINK, ::Window& );

    static void                                   weld:PlacementePlace  ::::) override

    const bool m_bTakeOwnership;
    bool m_bEventListener( OUString, bool) override
     m_bKeyEventListener
    bool m_bMouseEventListener;
i m_nBlockNotify
    int;

protected
    void ensure_event_listener void() override

    // we want the ability to mark key events as handled, so use this variant
    // for those, we get all keystrokes in this case, so we will need to filter
    // them later
    void ensure_key_listenerconst OUString*

    // we want the ability to know about mouse events that happen in our children
    // so use this variant, we will need to filter them later
     ensure_mouse_listener(;

    bool IsFirstFreeze() const { return      void(constOUString&rIdent,const &rHelpId;
    bool IsLastThaw() const {     virtualOUString(intconst ;

    virtual void HandleEventListener(    * ()const
    virtual bool HandleKeyEventListener
    virtual void java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

public:
    SalInstanceWidget(::* , SalInstanceBuilder, bool);

    virtual void set_sensitive(bool sensitive) override;

    virtual    (KeyEventListener&, );

bool get_visible  override

    virtual bool is_visiblestaticvoid (vclWindow*,  Point, OutputDevicerOutput)

    virtual void set_can_focus(bool bCanFocus) override;

    virtual void grab_focus     m_bEventListener

    virtual bool has_focus() const override     m_nBlockNotify

    virtual is_active constoverride

virtual has_child_focusconstoverride;

    virtualvoid show)override

    virtual void hide() override;

    virtual void set_size_request(int nWidth

    virtual Size// so use this variant, we will need to filter them later

    virtual Size get_preferred_size

    virtual float get_approximate_digit_width() const override;

    int()  ;

    virtual Size get_pixel_size

    virtual vcl::Font get_font()     virtual bool HandleKeyEventListenerrEvent

    virtual OUString get_buildable_name() const override

    virtual void set_buildable_name(const OUString& rId) override;

    virtual void set_help_id(const OUString& rId) override;

    virtual OUString get_help_id() const override;

    virtual void set_hexpand(bool bExpand) 

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

    virtual set_vexpand bExpand;

    virtual bool get_vexpand() const override

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

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

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

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

    virtual int get_margin_top() const override;

    virtual int get_margin_bottom() const override

    virtual int get_margin_start() const override

    virtual int get_margin_end() const override;

    virtual void set_accessible_name(const OUStringjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

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

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

    virtual

    virtual OUString get_accessible_id() const override;

    virtual void(weld:* ) override

    virtual void(bool) override

    virtual OUString get_tooltip_text() const override;

    virtual void set_cursor_data(void* pData) override;

    virtual set_margin_top(nt ) override;

    virtual void connect_mnemonic_activate(onst<Widget& bool&rLink;

    virtualvoid connect_focus_out(const Link<Widget&, void>& rLinkoverride;

     void(const <constSize& void> rLinkoverride

     voidconnect_mouse_press(onst <constMouseEvent bool rLink;

    virtualjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    virtual  connect_mouse_release Link<const &, boolrLink;

    virtual void connect_key_press(const Link<const KeyEvent

    virtual 

    virtual void connect_style_updated(const Link<Widget&, void>& rLink) override;

    virtual bool get_extents_relative_to(const
                                         int& height) const override;

    virtual grab_mouseoverride

     virtual set_accessible_relation_labeled_by:WidgetpLabel;

    virtual  release_mouseoverride

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

    virtual java.lang.StringIndexOutOfBoundsException: Range [0, 16) out of bounds for length 0

    virtualvirtual voidconnect_focus_in( LinkWidgetvoid&rLink;

    virtual void thaw() override;

    virtual set_busy_cursorbool) override

 stdunique_ptr<eld:Container>weld_parent(  override

    virtual ~SalInstanceWidget()

    vcl::Window* getWidget() const;

    void disable_notify_events();

    bool notify_events_disabled() const;

    virtual  (const<constKeyEvent >&rLink;

ride

    virtual void help_hierarchy_foreachvirtual connect_style_updated( LinkWidget>&rLink;

     OUString strip_mnemonic(onst OUString&) const override
    virtual OUStringint& height constoverride

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

    virtual css bool()  override
    virtual css::unovirtualv release_mouseoverride
    () constoverride

    virtual

    virtual void get_property_tree(tools     void() override

    virtual void 

    virtual void set_stack_background() override;

    virtual void set_title_backgroundvirtualstd:unique_ptr<eld:> weld_parent) onst;

    virtual void set_toolbar_background() override;

    virtual void set_highlight_background() override;

    virtualjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    virtual set_background ;

     voiddraw(& ,  & rPosconst& rSizePixel;

    SystemWindow* getSystemWindowvirtual help_hierarchy_foreach std:function<(constOUString> func;
};

 SalInstanceLabel public , virtual::Label
{
private:
    // Control instead of FixedText so we can also use this for <VirtualDevicecreate_virtual_device(  override
//
    // [G|S]etText which exists in their shared baseclass
VclPtr> m_xLabel;

public     void onnect_get_property_tree <tools&, void> ) override
    SalInstanceLabelvirtual get_property_treetools:& rJsonWriter;

     void(const & rText;

    virtual OUString get_label() const override;

    virtual void set_mnemonic_widget(Widget* pTarget)

    virtual voidjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

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

    virtual void set_font_color(const java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}virtualvoid drawOutputDevice rOutput,const & , const Size&rSizePixel ;

class SalInstanceContainer : public }
{
VclPtrvcl:Window>m_xContainer

public:
   SalInstanceContainer(::* pContainer,SalInstanceBuilder*pBuilder,
                         bool bTakeOwnership);
    virtual HandleEventListener& rEvent;
    virtual void connect_container_focus_changed(const Link<Container&, void/java.lang.StringIndexOutOfBoundsException: Range [77, 78) out of bounds for length 77
    virtual void child_grab_focus
    SalInstanceLabelControl*pLabel,SalInstanceBuilder*pBuilderbool bTakeOwnership;
    virtual css::uno    virtual  set_labelconstOUString) override
}java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2

class SalInstanceWindow : 
{
private:
VclPtr::Window>m_xWindow;

    DECL_LINK(HelpHdl, vcl::Window&, bool);

    void override_child_help(vcl::Windowjava.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2

    void clear_child_help(vcl::Window* pParent)java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

    :

voidimplResetDefault(const vclWindow*_);

public:
    SalInstanceWindow(vcl::Window* pWindow  connect_container_focus_changed<Container void>r) override

    virtual void set_title(const OUString& rTitle) override void(weldWidget*pWidgetweld* pNewParent override

    virtual OUString get_title() const;

    void help();

    virtual css::Reference<::::XWindowGetXWindow( ;

        (HelpHdlvclWindow&b);

virtual  window_move x, y overridejava.lang.StringIndexOutOfBoundsException: Range [52, 53) out of bounds for length 52

    virtual Size get_size() const override;

    virtual  get_positionconst;

    virtual     void implResetDefault:WindowpWindow

    virtual bool get_resizable() const override;

    virtual bool has_toplevel_focus() const override;

    virtual void present() override;

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

    virtual bool is_default_widget(const weld::Widget* pCandidatejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

     void(const & rStroverride;

    virtual OUString get_window_state(vcl::WindowDataMask nMask) const override;java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    virtual      AbsoluteScreenPixelRectangle ()const;

virtual:: collect_screenshot_data;

    virtual VclPtr

    virtual const vcl::ILibreOfficeKitNotifier* GetLOKNotifier() override;

    virtual ~SalInstanceWindowvirtual change_default_widget::WidgetpOldweldWidget*pNew)override;
};

class SalInstanceDialog : public SalInstanceWindow, 
{
protected:
    VclPtr<::Dialog> m_xDialog;

private:
    // for calc ref dialog that shrink to range selection widgets and resize back
    VclPtr<vcl::Window> m_xRefEdit;
    std::vector<VclPtr<vcl::Window>> m_aHiddenWidgets; // vector of hidden Controls
    tools::Long m_nOldEditWidthReq; // Original width request of the input field
    sal_Int32 m_nOldBorderWidth; // border width for expanded dialog

    DECL_LINK(PopupScreenShotMenuHdl, const CommandEvent&, bool);

public:
    SalInstanceDialog(::Dialog* pDialog, SalInstanceBuilder* pBuilder, bool bTakeOwnership);

    virtual bool runAsync(std::shared_ptr<weld::DialogController> const& rxOwner,
                          conststd:<void(sal_Int32)&rEndDialogFnoverride

    virtual
                           stdfunction(sal_Int32&rEndDialogFn)override

    virtual void collapse(weld::Widget* pEdit, weld:

     undo_collapse) ;

         intrun ;
    SetInstallLOKNotifierHdl(const Link void response ) override

     voidadd_button( & rText,int,

    virtual response nResponse;

    virtual void add_button(const OUString& rText, int nResponse,
                            const OUString& rHelpId = {}) override;

    virtual void set_modal(bool bModal

    virtual bool get_modal() const override;

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

    virtual stdunique_ptr::Button>weld_button_for_response(nt nResponse)override;

    virtual void set_default_response(int nResponse) class SalInstanceAssistant publicpublic weldjava.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85

    virtual std::unique_ptrstd:vector<stdunique_ptr>>m_aPages
}

class SalInstanceAssistant : public SalInstanceDialog, public virtual     ::<VclPtr<VclGrid>> m_aAddedGrids;
{
protected:
    VclPtr<vcljava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

:
    std
    std:vector<clPtrTabPage ;
    std:vectorint ;
    std::vector<VclPtr<VclGrid>> java.lang.StringIndexOutOfBoundsException: Range [0, 46) out of bounds for length 7
    IdleboolbTakeOwnership

     find_page(tdu16string_view rIdent;
    int find_id(int nId) const;

    DECL_LINK(OnRoadmapItemSelected,    virtual OUString(intnPage override
    DECL_LINK, *, void)

public
    SalInstanceAssistant(vcl::RoadmapWizardvirtual (constOUStringrIdent;
                         bool);
     int()  override
         OUString get_page_title( OUStringrIdent override;
    virtual OUString get_page_ident(int nPage) const override;
    virtual  get_current_page_ident constoverride
    virtual void set_current_page(int nPage) override;
    virtual set_current_page OUString&rIdent;
    virtual void set_page_index(const OUString& rIdent, int nNewIndex) override;
    virtual weld::Container* append_page(const OUString& rIdent) override;
    virtual OUString get_page_title(const OUString& rIdent) const override;
    virtual void set_page_title(const OUString& rIdent, const OUString& rTitle
    virtual void    virtual void 
    virtual class WeldTextFilter final:public
    virtual void set_page_side_image(const OUString& rImage) override:
    std::unique_ptr<weld::Button> weld_button_for_response(int nResponse) override;

    virtual() overridejava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
}

class WeldTextFilter final : public TextFilter
{
private:
:

public:
    WeldTextFilter(Link<OUString

    virtualDECL_LINK, VclWindowEventvoid)
}

classSalInstanceEntry  public , public virtual weld:Entry
{
private:
    public:

    (ChangeHdlEdit);
    DECL_LINK(CursorListener, VclWindowEvent&, void);
    DECL_LINK(ActivateHdl, Edit&, bool);

    WeldTextFilter;

public:
SalInstanceEntry:* pEntry,SalInstanceBuilderpBuilderbool bTakeOwnership)

    virtualvoid set_text(onst & rText override

    virtual OUString get_text() java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    virtual

   virtual int() constoverride;

    virtual void

    virtual void select_region(int nStartPos, int nEndPos)

    bool get_selection_bounds(int& rStartPos, int& rEndPos) java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    virtual replace_selection(onst & rTextoverride;

    virtual void set_position(int nCursorPos) override;

    virtual int get_position() const override;

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

virtualbool get_editable(  override

    virtual  set_visibility bVisible;

    virtual void set_overwrite_mode(boolvirtual void et_font vcl:Font) override

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

    virtual void set_message_type(weld::EntryMessageType eType

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

    virtual void set_font_color(const Color& rColor) override;

    virtual void connect_cursor_position void() ;

    virtual void set_placeholder_text(const OUString& rText) override;

    Edit& getEntry();

    void ire_signal_changed

    virtual void     ~() ;

    virtual  copy_clipboard override

    virtualvoid() override

    virtual void set_alignment(TxtAlign eXAlign) override;

    virtual ~SalInstanceEntry() override;
};

class SalInstanceSpinButton : public SalInstanceEntry, public virtual weld::SpinButton
{
    VclPtr> ;

protected
    Formatter& m_rFormatter;

private:
    DECL_LINK(            bool );
    DECL_LINK(LoseFocusHdl, Control&, void);
    DECL_LINK(OutputHdl, double, std::optional<OUString>);
    DECL_LINK(InputHdl, void(double ) override
    DECL_LINK(ActivateHdl, Edit&,virtual set_floating_point_rangedouble,  fMax ;

public
    SalInstanceSpinButton(FormattedField* pButton, SalInstanceBuilder* pBuilder    virtual  set_floating_point_increments, double/*fPage*/) override;
                          bool);

() const override

    virtual voidjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    virtual void set_floating_point_range(double fMin, double fMax) override;

    virtual void get_floating_point_range

    virtual void set_floating_point_increments(double fStep SetUseThousandSep

    virtual SalInstanceSpinButton;

    virtual void set_digits(unsigned int digits) override;

 comprisedof multiple subwidgets onsider lot
    // one thing for focus
    virtual has_focus(  override

    //off by default for direct SpinButtons, MetricSpinButton enables it
    void();

    virtual  int() const override;

    virtual ~()override
};

//ComboBox and ListBox have similar apis, ComboBoxes in LibreOffice have an edit box and ListBoxes
//don't. This distinction isn't there in Gtk. Use a template to sort this problem out.
template <class vcl_type        const sal_Int32 nRet =m_xComboBox-GetSelectedEntryPos
classSalInstanceComboBox public,  virtual::ComboBox
{
protected:
    /owner for/ComboBoxjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
::<stdshared_ptr>> m_aUserData;
    VclPtr<vcl_type> m_xComboBox;
    ScopedVclPtr<MenuButton> m_xMenuButtonjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    OUString m_sMenuButtonRow;

public:
    SalInstanceComboBox(vcl_type* pComboBox, SalInstanceBuilder
        : SalInstanceWidget(pComboBox, pBuilder, bTakeOwnership)    // one thing for focus
        , m_xComboBox)
    {
    }

    virtual int get_active() const override               ||( & (>HasFocus |m_xMenuButton->())java.lang.StringIndexOutOfBoundsException: Index 97 out of bounds for length 97
    {
        const sal_Int32
        ifnRet= LISTBOX_ENTRY_NOTFOUND)
            return -1;
        return nRet;
    }

    constOUStringgetEntryData( ) const
    {
        return static_castpRet (m_xComboBox-());
    }

    // ComboBoxes are comprised of multiple subwidgets, consider the lot as = nullptr
    // one thing for focus
    bool()  override
    {
        return m_xWidget->HasChildPathFocus()
               || (m_xMenuButton && (m_xMenuButton->}
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    virtual OUString get_active_id() 

        sal_Int32 nPos = m_xComboBox->GetSelectedEntryPos(        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        const OUString* pRet;
        if (nPos != LISTBOX_ENTRY_NOTFOUND
            pRetm_xComboBox->SelectEntryPos()
        else
            pRetjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        if (!pRet)
            return{
        return *pRet;
    }

    virtual void set_active_id(const OUString& rStr) override
    {
        for (int i = 0; i < get_count(); ++i)
        {
            const OUString* pId =            >SetNoSelection
            if;
                continue;
            if (*pId == rStr)
                m_xComboBox->SelectEntryPos(i);
        }
    }

    virtual void set_active(int pos) override
    {
        assert(_ComboBox->sUpdateMode(
&& dont when   thawNotedoesn"
                  "survive a "
                  "freeze");
         pos 1)
        {
            m_xComboBox->SetNoSelection();
           ;
        }
        m_xComboBox->SelectEntryPos(pos);
    }

     OUString (int)   {returnm_xComboBox-GetEntry);}

    virtual OUString get_id(int pos) const java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        const  freeze);
        if !)
            return OUString();
         *;
    }

    virtual set_id , const& rId
    {
        m_aUserDataemplace_back::make_unique<>(rId)
        m_xComboBox->SetEntryData(        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    }

    virtualvirtual int get_count( constoverride returnm_xComboBox->etEntryCount;}
                               bool bKeepExisting) override
    {
        freeze();
        if (!bKeepExistingconst sal_Int32  =m_xComboBox-(rStr
(;
        for (const              -1
        {
       (-1 rItem, .sId()  nullptr&.sId
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        }
        thaw();
    }

    virtual int get_count{

    virtual find_text OUString) const
    {
        const sal_Int32
        if              (pId rStr
                            return i;
        return nRet;
    }

     intfind_idconstOUString rStrconst override
    {
        for (int i = 0; i < get_count(); ++i) void() 
        {
            const OUString        m_aUserData.();
            if (!pIdjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                continue;
            if (*pId == rStr)
                return i;
        }
        return -1;
    }

    virtual void clear() override
    {
        m_xComboBox->lear(;
        m_aUserData.clear();
    }

    virtual void make_sorted() override
    {
        m_xComboBox-java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    }

    virtual get_popup_shown( constoverride {returnm_xComboBox->sInDropDown java.lang.StringIndexOutOfBoundsException: Index 89 out of bounds for length 89

virtual (constLink<&,void ) override

        weld::ComboBox        (*pRenderContext rRectpEvent-() );
        ();
    }

    void call_signal_custom_render* pEvent)
    {
        vcl::RenderContext* pRenderContext = pEvent->GetRenderContext            :WindowpEventWindow =m_xComboBox-()
        auto nPos = pEvent->GetItemId();
       onst::& Rect=pEvent-GetRect;
        const OUString sId = get_id(nPos);
        signal_custom_render(pRenderContextrRectpEvent-(),sId
        m_xComboBox->DrawEntry(*pEvent); // draw separatorm_xMenuButton->(Size, .GetHeight);

        if (m_xMenuButton && m_xMenuButton->IsVisible() && m_sMenuButtonRow == sId)
        {
            vcl
    <VirtualDevicecreate_render_virtual_device) constoverride
                m_xMenuButton->SetParent(pEventWindow);
            int nButtonWidth  = VclPtr<irtualDevice>Create
            m_xMenuButton->SetSizePixel(        xRet->(Application:etSettings(GetStyleSettingsGetFieldColor()java.lang.StringIndexOutOfBoundsException: Index 91 out of bounds for length 91
            >SetPosPixel(rRect.etWidth( -nButtonWidth .Top)
                * pInstanceMenu =dynamic_castSalInstanceMenu*(pMenu
    }

    VclPtr<VirtualDevice> create_render_virtual_device() const override
    {
        auto xRet = VclPtr<VirtualDevicem_xMenuButton
und
        return
    }

    virtual void set_item_menu(const OUString& rIdent, weld::Menu* pMenu) overridem_sMenuButtonRow =rIdent;
    {
        SalInstanceMenu* pInstanceMenu =    int get_menu_button_width) constoverride

        PopupMenu* pPopup = pInstanceMenu ? pInstanceMenu-{

        (!m_xMenuButton)
            m_xMenuButton
                        return 2 *(Default ?pDefault->()  1.0);

        m_xMenuButton->SetPopupMenu(pPopup, false);
        m_xMenuButton->Show
        java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

int() const verride
    {
        *  = ::();
        return 20 * (pDefault ? pDefault->GetDPIScaleFactor() : 1.0);
    }

    void set_max_drop_down_rows(int nRows)

    void CallHandleEventListener(VclWindowEvent& rEvent)
    {
        if (rEvent.GetId() =}
            || rEvent.GetId() == VclEventId::DropdownClose)
        {
            java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 1
            return;
        }
        SalInstanceWidget::HandleEventListener(rEvent);
    }
};

classjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
private:
    DECL_LINK(SelectHdl, ListBox&, void);

public:
    SalInstanceComboBoxWithoutEdit(ListBox* pListBox,      voidinsert( , constOUString&,  OUString,
                                   bTakeOwnership

    virtual OUString() constoverride

    virtual void remove(int pos) override;

    virtual void insert(int pos, const OUString& rStr, const OUString* pId,
                        const OUString* pIconName, VirtualDevice* pImageSurface) override;

    virtual void insert_separator(int pos, const OUString& /*rId*/) override;

    virtual bool has_entry() const override;

    virtual bool changed_by_direct_pick

    virtual void set_entry_message_type(weld::EntryMessageType /*eType*/) override;

    virtual void set_entry_text(const OUString& /*rText*/) override;

    virtual

    virtual bool get_entry_selection_bounds(intjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    virtual void set_entry_width_chars(int /*nChars*/) override;

    virtual void set_entry_max_length(int /*nChars*/) override;

    virtual void set_entry_completion(boolbool bCaseSensitive voidpaste_entry_clipboard( override

     void(const OUString ;

    virtual void set_entry_editable(bool bEditable) override

    virtual void cut_entry_clipboard

    virtual

    virtual void paste_entry_clipboard() override;

    virtual  ()const;

    virtual void    virtual void(intoverride

    virtual vcl::Font get_entry_font() override;

    virtual set_custom_renderer bOn;

    virtual int get_max_mru_count() const override;

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

    virtual OUString get_mru_entries() const override

    virtual void set_mru_entries(const OUString&){

    virtualvoid HandleEventListener(clWindowEvent&rEvent;

    virtual ~SalInstanceComboBoxWithoutEdit() override;
};

class     WeldTextFilter;
{
private
    (ChangeHdlEdit );
    DECL_LINK(EntryActivateHdl,     SalInstanceComboBoxWithEdit(:ComboBoxpComboBoxSalInstanceBuilder,
    DECL_LINKSelectHdl,:ComboBox );
    DECL_LINK(UserDrawHdl, UserDrawEvent*, void);
    WeldTextFilter m_aTextFilter;
    bool;

public:
SalInstanceComboBoxWithEditComboBox*pComboBox,SalInstanceBuilder,
                                bool bTakeOwnership);

    virtual bool has_entry() const override;

     bool() const;

    virtual voidvirtual remove ) override

    virtual get_active_text const override

     voidremove ) override

    virtual void insert(int pos, const virtualvoid insert_separator(nt,  OUString&'color:green'>/*rId*/) override;
                        const OUString* pIconName, VirtualDevice* pImageSurface) override;

    virtual void insert_separator

    virtual void set_entry_text(const OUString& rText) override;

    virtualjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

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

    virtual void set_entry_completion(bool bEnable, bool bCaseSensitive = false) override;

    virtual void set_entry_placeholder_text(const OUString& rText) override;

    virtual void set_entry_editable     void();

virtual cut_entry_clipboardoverride

    virtual void copy_entry_clipboard() override;

    virtual void paste_entry_clipboard() override;

    virtual void select_entry_region(int nStartPos, int nEndPos) override;

    virtual get_entry_selection_bounds& , & rEndPos)override

    virtual void set_font(const vcl::    virtual vcl::Font get_entry_font() override

    virtual void set_entry_font(const vcl::Font& rFont) override;

    virtual vcl::Font get_entry_font() override;

     void(boolbOn override;

    virtual int get_max_mru_count() const    virtual OUString get_mru_entries)const;

    virtual void set_max_mru_count(int nCount) override;

    virtual OUString get_mru_entries() const override;

    virtual void set_mru_entries(const OUString& rEntries) override;

    virtual void HandleEventListener(VclWindowEvent

     voidcall_attention_to( ;

    virtual ~SalInstanceComboBoxWithEdit() override;
};

class SalInstanceButton<::utton void const m_aOldClickHdl;
{
private
    VclPtr<::Button> m_xButton;
    Link<::Button*, voidconst m_aOldClickHdl;

    DECL_LINK(ClickHdl, ::Button*,

public:
    SalInstanceButton(::Button* pButton, SalInstanceBuilder

    virtual void set_label(const OUString& rText) override;

    virtual void set_image(VirtualDevice* pDevice) override;

    virtual void set_image(const css::uno::Reference<css::graphic::XGraphic>& rImage OUString(  override;

    virtual void (const& ) override

    virtual OUString get_label() const override;

    virtual void set_font

    virtual void set_custom_button(VirtualDevice* pDevice) override;

    virtual ~SalInstanceButton SalInstanceToggleButton public SalInstanceButtonpublic virtual::ToggleButton
};

classSalInstanceToggleButton publicpublicvirtual::ToggleButton
{
private:
    VclPtr<PushButton> m_xToggleButton;

DECL_LINK, VclWindowEvent );

public:
    SalInstanceToggleButton(PushButton* pButton, m_xToggleButtonpButton
         SalInstanceButton(, pBuilderbTakeOwnership
        , m_xToggleButton(pButton)
    {
        m_xToggleButton->setToggleButton(true);
    }

    virtual void connect_toggled(const Link<Toggleable&, void>& rLink) override
    {
        assert(!m_aToggleHdl.IsSet());
m_xToggleButton-(LINKthis,, ToggleListener;
        weld::ToggleButton::connect_toggled(rLink);
    }

    virtual void     
    {
        disable_notify_events();
        m_xToggleButton->Check(active    
        enable_notify_eventsjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
    }

    virtual bool get_active() constvirtual ()c override return m_xToggleButton->() 

    virtual set_inconsistent( inconsistent
    {
        disable_notify_events();
        m_xToggleButton->SetState(inconsistent ? TRISTATE_INDET : TRISTATE_FALSE)m_xToggleButton-(inconsistent TRISTATE_INDET  );
        enable_notify_events();
    }

    virtualbool() const override
    {
        return m_xToggleButton-
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

        java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    {
        if (m_aToggleHdl.IsSet())
            m_xToggleButton->RemoveEventListener(
                
    }
};

class SalInstanceNotebook : public SalInstanceWidget, public virtual weld::Notebook
{
private:
    VclPtr<TabControl> m_xNotebook;
    /// Constructed on-demand.
    mutable std::mapmutable std:<OUStringstd:shared_ptr<>> ;
    std:mapOUString,stdpair<TabPageVclPtr<>>>m_aAddedPages

    DECL_LINKDeactivatePageHdl,TabControl* bool)
    (ActivatePageHdlTabControl );

public
    SalInstanceNotebook* pNotebook SalInstanceBuilder*pBuilderbool);

    virtual get_current_page override

    virtual int get_page_index(virtual get_page_index OUString) const;

     OUString(intconst override

    virtual OUString get_current_page_ident() const override;

virtual weldContainerget_page(onst& ) const ;

    virtual set_current_page nPage ;

    virtual void set_current_page(const OUString& rIdent) override;

    virtual void remove_page(const OUString& rIdent) override;

    virtual void insert_page(const OUString& rIdent, const OUString& rLabelvirtual insert_page UString,  OUString,  ) override

    virtual int get_n_pages() const override;

    virtual OUString get_tab_label_text(const OUString& rIdent) const override;

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

    virtual void set_show_tabs(bool bShow

    virtual ~SalInstanceNotebook;
};


{
protected:
    VclPtr<::MessageDialog> m_xMessageDialog;

public
    SalInstanceMessageDialog:MessageDialogpDialog* pBuilder
                             bool bTakeOwnership

    virtual void set_primary_text(const OUString& rText) override;

    virtual OUString get_primary_text() const override;

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

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

    virtual std::unique_ptr<weld::Container> weld_message_area() override;
};

class SalInstanceLinkButton :public ,  virtualweld:LinkButton
{
private:
    VclPtr<FixedHyperlink> m_xButton;
    Link<FixedHyperlink&, void> m_aOrigClickHdl;

    DECL_LINK(ClickHdl, FixedHyperlink&, void);

public:
    SalInstanceLinkButton(FixedHyperlink* pButton, SalInstanceBuilder* pBuilder,
                          bool bTakeOwnership)
        : SalInstanceWidget(pButton, pBuilder, bTakeOwnership)
        , m_xButton(pButton)
    {
m_aOrigClickHdl m_xButton-();
        m_xButton->m_xButton-(LINKthisSalInstanceLinkButton,ClickHdljava.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
    }

    virtual void set_label(const OUString& rText) override { m_xButton->SetText(rText); }

    virtual

    virtualvoid(constOUString&rUri {m_>SetURL); }

    virtual OUString get_uri() const override { return      OUString()constoverride{returnm_xButton-();java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77

    virtual void set_label_wrap(bool wrap) overridevirtual ~alInstanceLinkButton)override  >(m_aOrigClickHdl

    virtual ~SalInstanceLinkButton() override { m_xButton-class SalInstanceCheckButton :public ,  virtual::CheckButton
};

class SalInstanceCheckButton : public SalInstanceButton, public
{
private:
    VclPtr<CheckBox ;

    DECL_LINK(ToggleHdl, CheckBox&, void);

public:
    SalInstanceCheckButton(CheckBox* pButton, SalInstanceBuilder* pBuilder, bool bTakeOwnership);

    virtual void set_active(bool active) override;

    virtualboolget_active( onst;

    virtual void set_inconsistent(boolvirtual get_inconsistent ;

    virtual get_inconsistent const;

    virtual void set_label(virtual OUStringget_label)const override {returnSalInstanceButton();}

    virtual OUString get_label void(bool) override

     void(bool wrap) override;

    virtual ~SalInstanceCheckButton() override;


class SalInstanceDrawingArea : public SalInstanceWidget, public virtual weld::DrawingArea
{
java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 8
    VclPtr<VclDrawingArea> m_xDrawingArea;

    (MousePressHdl  &,bool;
    DECL_LINK    (MouseMoveHdl &,bool
    DECL_LINK, constSize& );
    DECL_LINK(MousePressHdl, const MouseEvent&, bool);
DECL_LINK, constMouseEventbool
    (MouseReleaseHdlconst&, bool
DECL_LINKKeyPressHdl,constKeyEvent);
    DECL_LINK(CommandHdlconstCommandEvent);
    DECL_LINK, VclDrawingAreavoid
    DECL_LINK(ommandHdl,constCommandEventbool
    DECL_LINK, ::Rectangle,OUString
    DECL_LINK(GetSurroundingHdl*,bool
    DECL_LINK(DeleteSurroundingHdl, const Selection&, bool);
    DECL_LINK(StartDragHdl, VclDrawingArea*, bool);

    // SalInstanceWidget has a generic listener for all these
    // events, ignore the ones we have specializations for
    // in VclDrawingArea
    virtual void HandleEventListener(VclWindowEvent& rEvent) override;

    virtual void HandleMouseEventListener(VclWindowEvent& rEvent) override;

    virtualconst & rAllyFactoryFunction pUITestFactoryFunction,

public:
    SalInstanceDrawingArea(VclDrawingArea* pDrawingArea
                           const a11yref& rAlly, FactoryFunction pUITestFactoryFunction
                           *pUserData,bool);

virtual queue_draw ;

    virtual void queue_draw_area voidconnect_key_press(onst LinkconstK&, bool> ) override;

    virtual void connect_size_allocate(const Link<const Size&, void>& rLink) override;

    virtual void connect_key_press(const Link<const KeyEvent&, bool>& rLink) override;

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

    virtual void connect_style_updated(const Link<Widget&, void>& rLink) override;

    virtual void set_cursor(PointerStyle ePointerStyle) override;

                                                int) override

    virtual void set_input_context(const InputContext& rInputContext) override;

    virtual void im_context_set_cursor_location(const tools::Rectangle& rCursorRect,
                                                 AbsoluteScreenPixelPointget_accessible_location_on_screen

    virtual get_accessible_parentoverride

    virtual a11yrelationset get_accessible_relation_set() override;

    virtual AbsoluteScreenPixelPoint get_accessible_location_on_screen() override;

    virtual void enable_drag_source(rtl::Reference<TransferDataContainer>& rHelper,
Int8) override

    virtual ~SalInstanceDrawingArea() override;

    virtual OutputDevice& get_ref_device() override;

    virtual void

    virtual void dblclick(const Point& rPos) override;

    virtual void mouse_up(const Point& rPos) override;

    virtual void mouse_down(const Point& rPos) override;

    virtual void mouse_move(const {
};

classSalInstanceToolbar :public SalInstanceWidget, virtual::Toolbar
    std:mapToolBoxItemId,VclPtr<cl:Window ;
 std<ToolBoxItemId<PopupMenumaMenus
    VclPtr<ToolBox> m_xToolBox;
    std:map<oolBoxItemId,VclPtr::Windowm_aFloats
    std

    OUString m_sStartShowIdent;

    DECL_LINK(ClickHdl, ToolBox*, void);
    DECL_LINK(DropdownClick, ToolBox*, void);
    DECL_LINK(MenuToggleListener, VclWindowEvent&, void);

public:
    SalInstanceToolbar(ToolBox    virtualvoid(constOUString&rIdent bSensitive;

virtual  get_item_sensitive OUString&rIdent) overridejava.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75

    virtual bool get_item_sensitive(const OUString& rIdent) const override;

    virtual void set_item_visible(const OUString& rIdent, bool bVisible) override;

    virtual void set_item_help_id(const OUString& rIdent, const OUString& rHelpId) override;

    virtual bool get_item_visible(const OUString& rIdent) const override;

     void(constOUString, bool) override

virtualbool(constOUString&rIdent override

    void set_menu_item_active(const OUString& rIdent (const & ) const;

    bool(const OUString) const override

    virtual set_item_popover & , weldWidget) override

    virtual void (const& rIdent::Menu* pMenuoverride;

    virtual void insert_item(int pos, const OUString void(intpos  OUString/*rId*/) override;

    virtual  insert_separator , constOUString&/*rId*/) override;

    virtual int get_n_items() const override;

    virtual OUString

    virtual void set_item_ident(int nIndex, const OUString& rIdent) override;

    virtual void set_item_label(int nIndex, const OUString

    virtual OUString get_item_label(constjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    virtual void set_item_label(const OUString& rIdent, const OUString& rLabel)  virtual set_item_icon_name OUString& ,  OUString&rIconName;

    virtual void set_item_icon_name

    virtual void set_item_image_mirrored(const OUString& rIdentconst css:no:Reference<ss:graphic:XGraphic> ) overridejava.lang.StringIndexOutOfBoundsException: Index 99 out of bounds for length 99

    virtual void set_item_image(const OUString& rIdent,
                                const css::uno::Reference<css:     voidset_item_image(ntnIndex

    virtual void set_item_image(constjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    virtual void set_item_image(int
                                const css:unoReference<::raphic:XGraphic ) override

    virtual void set_item_tooltip_text(int nIndex, const      void(intconst OUString&rName override

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

    virtual void set_item_accessible_name(int nIndex, const OUString& rName) override;

    virtual void set_item_accessible_name(const     void(vclImageType) override

    virtual OUString get_item_tooltip_text(const OUString& rIdent) const override;

    virtualvirtual int et_drop_index Point&rPoint override

    virtual void set_icon_size(vcl::ImageType eType) override;

    virtualclass SalInstanceTextView:public SalInstanceWidget, virtual::TextView

    virtual int get_drop_index(const Point& rPoint) const override;

    virtual ~alInstanceToolbar) override
};

class SalInstanceTextView : public SalInstanceWidget, public virtual weld::TextView
{
private:
    VclPtr<VclMultiLineEdit
    Link<ScrollBar*:

    DECL_LINK(ChangeHdl, Edit&, void);
    DECL_LINK(VscrollHdl, ScrollBar*, void);
    DECL_LINK(CursorListener, VclWindowEvent&, void);

public:
    SalInstanceTextViewvirtual voidreplace_selectionconst UString) override
                        bool bTakeOwnership);

    virtual void set_text(const OUString     get_selection_bounds(intint rEndPos ;

    virtual void replace_selection(const OUString& rText) override;

    virtual get_text  ;

    bool get_selection_bounds(int& rStartPos, int& rEndPos) override;

    virtual  select_region(nt nStartPosint) override

    virtual void set_editable(bool bEditable) override;
    virtual bool get_editable() const override;
    virtual void set_max_length(int nChars) override;

    virtual void et_monospace bMonospace;

     void(const::& rFont;

    virtual (const Color&) override

     void connect_cursor_position Link<extView void> rLink override;

    virtual void copy_clipboard(override

    virtual bool can_move_cursor_with_down() const override;

    virtual void cut_clipboard() override;

    virtual void copy_clipboard() override;

    virtual void paste_clipboard() override;    virtualvoid(int) override

    virtual void set_alignment(TxtAlign eXAlign) override;

    virtual int vadjustment_get_value() const override;

    virtual void vadjustment_set_value(int value) override;

    virtual int vadjustment_get_upper() const override;

    irtual () const;

    virtual int

    virtual bool has_focus() const override;

 ~() override
};

struct SalInstanceTreeIter final : public weld::TreeIter
{
    SalInstanceTreeIter SalInstanceTreeIter*pOrig
        : iter(pOrig ? pOrig-{
    {
    }
    SalInstanceTreeIter(SvTreeListEntry* pIter)
        : iter(pIter    {
    {
    }
    virtual bool equal(const TreeIter& rOther) const override
    {
        return iter == static_cast<const SalInstanceTreeIter&>(rOther::java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83
    }
    SvTreeListEntry* iter;
;

class SalInstanceTreeView : public SalInstanceWidget,     m_aCheckButtonData
{
protected:
    // owner for UserData
    std::vector<std::unique_ptr<OUString>> m_aUserData;
    VclPtr<SvTabListBox> m_xTreeView;
    SvLBoxButtonData m_aCheckButtonData;
    SvLBoxButtonData m_aRadioButtonData;
    // currently expanding parent that logically, but not currently physically,
    // contain placeholders
    o3tl::sorted_vector<SvTreeListEntry*> m_aExpandingPlaceHolderParents;
    // which columns should be custom rendered
    o3tl::sorted_vector<int> m_aCustomRenders;
    bool m_bTogglesAsRadio;
    int m_nSortColumn;

DECL_LINK, SvTreeListBox,void;
    DECL_LINK, SvTreeListBox);
    DECL_LINK(DoubleClickHdl, SvTreeListBox*, bool);
    DECL_LINK(ExpandingHdl, SvTreeListBox*, bool);
    DECL_LINK(EndDragHdl, HeaderBar*, void);
DECL_LINK, HeaderBarvoid
    DECL_LINK(ToggleHdl, , SvTreeListEntry, );
    DECL_LINK(ModelChangedHdl, SvTreeListBox*, void);
    DECL_LINK(StartDragHdl, SvTreeListBox*, bool);
    (SalInstanceTreeViewFinishDragHdlSvTreeListBoxvoidjava.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
    DECL_LINK(EditingEntryHdl, SvTreeListEntry*, bool);
    DECL_LINK(EditedEntryHdl, const IterString&, bool);
    DECL_LINK(VisibleRangeChangedHdl, SvTreeListBox*, void);
    DECL_LINK(CompareHdl, const SvSortData&, sal_Int32);
    DECL_LINK(PopupMenuHdl, const CommandEvent&, bool);
    (TooltipHdlSvTreeListEntry OUString)
    DECL_LINK(CustomRenderHdl, java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
    DECL_LINK(CustomMeasureHdl, svtree_measure_args, Size);

    bool

    // Each row has a cell for the expander image, (and an optional cell for a
    // checkbutton if enable_toggle_buttons has been called) which precede
    // index 0
    intto_internal_model(nt col)const

    int to_external_model(int col) const;

    bool IsDummyEntry(SvTreeListEntry     voidset_font_color(SvTreeListEntry*,  Color& Color

    SvTreeListEntry*     void AddStringItemSvTreeListEntry ,  OUStringrStr, nCol

     void(SvTreeListEntry pEntry Color);

    void AddStringItem(SvTreeListEntry* pEntry, const OUString& rStr, int nCol);

    void do_insert(                    bIsSeparator)
                   const OUString* pId, const OUString* pIconName,     update_checkbutton_column_widthSvTreeListEntry);
                   const VirtualDevice* pImageSurface, bool bChildrenOnDemand, weld::TreeIter*      InvalidateModelEntrySvTreeListEntry);
                   bool bIsSeparator);

    void update_checkbutton_column_width(SvTreeListEntry* pEntry);

    void    static  do_get_sensitive* , int);

    void(SvTreeListEntrypEntry  eStateint);

    static TriStatevoidset_toggle(vTreeListEntry*pEntry eState );
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    TriState get_toggle(SvTreeListEntry* java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    void set_toggle(SvTreeListEntry* pEntry, TriState eState, int col);

bool(SvTreeListEntrypEntry col ;

    void set_header_item_width(const std::vector<int>& rWidths);

public
    (SvTabListBox pTreeView,SalInstanceBuilderpBuilder bool TakeOwnership

    virtual void connect_query_tooltip(const Link<const weld voidfreeze;

    virtual void columns_autosize() override;

    virtual freezeoverride

    virtual void thaw() override;

    virtual void set_column_fixed_widths(const std::vector<int>& rWidths) override

    virtual void set_column_editables(const std::vector<bool>& rEditables) override;

    virtual void set_centered_column(int nCol) override;

    virtual int get_column_width(int nColumn) const override;

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

    virtual void set_column_title(

    virtual void

    virtual void queue_draw() overridejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    virtual showoverride

    virtual void hide() override;

    virtual insertconst::reeIter*pParent,int ,  OUStringpStr
                        const OUString* pId, const OUString* pIconName,
                        VirtualDevice pImageSurface,bool,
                        weld::TreeIter* pRet) override;

    virtual  insert_separator pos const & /*rId*/) override;

             weldTreeIter* =nullptr stdvectorint*pFixedWidths  ullptr
        int nSourceCount, const java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        const weld::TreeIter* pParent = nullptr, const std::vector<int>* pFixedWidths = nullptr,
        bool bGoingToSetText = false) override;

    virtual void set_font_color(int pos, const Color& rColor    virtualvoid() ;

    virtualvirtual void unselect_all( ;

    virtual remove pos)override

virtual find_text(onst & rText)const;

    virtual find_id OUStringrIdconst override

    virtual void swap    virtualint()constoverride

    virtual void clear() override;

    virtual
     voidunselect_all(override

    virtual int n_children() const override;

    virtual int iter_n_children(const weld::TreeIter& rIter) const override;

    virtual void select(int pos) override;

    virtual int get_cursor_index() const override;

    virtual void set_cursor(int pos) override;

    virtual void scroll_to_row(int pos) override;

    virtual bool is_selected(int pos) const override;

    virtual void unselect(int pos) override;

    virtualstd<int>()  override

OUString(* , intcol);

    virtual OUStringjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    void set_text(SvTreeListEntry* pEntry set_sensitive* , bool,  col)

    virtual void set_text(int pos, const OUString& rText,

    using SalInstanceWidget::set_sensitive;
    using SalInstanceWidget::get_sensitive;

    
     void et_sensitive weld:TreeIter&rIter,bool bSensitive,int col 1 ;

virtual set_sensitiveintpos,bool,  col-)override;

    virtual void set_sensitivevirtual get_sensitive weld:& rIter,intconstoverridejava.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 84

    virtual bool get_sensitive(int    virtualTriStateget_toggle(onst weldTreeIterrIter  col- const;

    virtual bool get_sensitive(const weld:     void(int, TriState eState,int = 1 ;

    virtual

    

virtual enable_toggle_buttons:: eTypeoverride;

    virtual void set_toggle(int pos, TriState eState, int col = -1) override;

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

    virtual void set_clicks_to_toggle(int nToggleBehavior) override;

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

    void set_text_emphasis(SvTreeListEntry* pEntry, bool 

    virtual void set_text_emphasis

    virtual void set_text_emphasis(int pos, bool bOn, int col) override;

    virtual bool get_text_emphasis(const weld::    virtual voidconnect_editing(onst<constweld&,&nbsp;bool&rStartLink,

virtual get_text_emphasis pos int colconst;

    void set_text_align(SvTreeListEntry

    virtual void set_text_align(const weld::TreeIter&java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 40

    virtual void set_text_align(int  = -) override

    virtual voidconnect_editing( Linkconst weld:TreeIter, bool> rStartLinkjava.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85
                                 Link< &, > rEndLink override;

    virtual void start_editing(const weld::TreeIter& rIter) override;

    virtual void end_editing() override;

    void set_image(SvTreeListEntry* pEntry, const Image& rImage, int col);

    virtual void set_image(int pos, const OUString& rImage, int col = -1) override;

    virtual void set_image(int pos, const css::uno::Reference<css::graphic::XGraphic>& rImage,
                           int

    virtual void set_image(int pos, VirtualDevice& rImage, int col = -1) override;

virtualvoid set_image( ::TreeIter rIter,const OUString,
                           int col = -1) override;

    virtual void set_image(                            col-);
                           const css::uno    const * getEntryData( index;
                           int col = -1) override OUString(intconstoverride

    virtualvoidset_image(onst ::TreeIter, VirtualDevice,
                           int col = -1) override;

    const OUStringjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    virtual  get_id pos override

    void set_id(

    virtual set_id , const& rId;

    virtual int get_selected_index    virtual stdunique_ptr::TreeItermake_iterator ::TreeIterpOrig

    virtual OUString get_selected_text() const override;

    virtual OUString get_selected_id() const java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    virtual std::unique_ptr<weld::TreeIter>     virtual  get_cursor::* pIter  ;
                                                          = nullptr) const override;

     bool(weldTreeIter) const;

    virtual bool get_selected(

    virtual bool get_cursor(weld::TreeIter

    virtual  set_cursor weldTreeIterrIter;

    virtual bool get_iter_first

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

     bool(weld:& rIterconst ;

    virtual bool iter_previous_sibling::TreeIter) constoverride

    virtual bool iter_next(weldvirtual bool iter_parent(::TreeIter)  ;

    virtual bool iter_previous(weld::     void(constweldTreeIter ) override

    

    virtual

    virtual remove weldTreeIter) override

    virtual void select(const weld::TreeIter& rIter) override;

    virtual void scroll_to_row(const weldjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    virtual     virtual  get_row_expandedweld& rIter ;

    virtualvirtual get_children_on_demandweld& rIter ;

    virtual iter_has_child weld:TreeIter& Iter override

    virtual bool get_row_expanded(const weld

    virtual bool get_children_on_demand(const weld::TreeIter& rIter) const override;

    virtual void set_children_on_demandvirtual (constweld& rIter;
                                        bool bChildrenOnDemand    virtual OUString(const::TreeIter ,  col-) override;

    virtualvirtualvoidset_text ::& rIterconst& ,

    virtual void

    virtual OUString get_text(

    virtual void set_text
                           col -)override;

    virtual OUString get_id(const weld

    virtual void set_id(const weld::TreeIter& rIter, const OUString& rId) override

    virtual void enable_drag_source(rtl::Reference<TransferDataContainer>& rHelper,
                                    eDNDConstantsoverride

    virtual void set_selection_mode(electionMode eMode)overridejava.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66

    virtual void all_foreach(const std::function<bool(weld::TreeIter&)>& func) override;

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

    virtual  (const::function(weld&)>funcoverride;

    virtual voidvirtual intiter_compare ::TreeItera  weld::reeIter)c override

    virtual voidremove_selection( overridejava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45

virtualintcount_selected_rows)  override;

    virtual int

    virtual int iter_compare(const weld::TreeIter& a, const weldvirtualvoid();

    virtual void move_subtree(weld::TreeIter& rNode, const weld::TreeIterconststd:function<ntconstweld:TreeIter&  ::TreeIter&& ) override
java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 0

    virtual count_selected_rows( onst;

    virtual (intnRows override;

    virtual void make_sorted() override;

    virtual void set_sort_func(
        const std::function<int(const weldvirtual TriState(intcol ;

    virtual void make_unsorted() override;

    virtual      void(int ) override

    virtual boolget_sort_order(  override

    virtual void set_sort_indicator bool(const Point&rPos weld:* pResult, bDnDMode

    virtualTriState(intcolconst;

    virtual int get_sort_column() const override;

    virtual void set_sort_column(int nColumn) override;

    SvTabListBox& getTreeView();

    virtual get_drag_source( const;
                                     bool bAutoScroll = true) override;

    virtual void unset_drag_dest_row() override;

    virtual tools::Rectangle get_row_area(const weld::TreeIter& rIter) const override;

    virtual TreeView* get_drag_source() const override;

--> --------------------

--> maximum size reached

--> --------------------

Messung V0.5
C=96 H=96 G=95
> C=96
H=96 G=95

¤ Dauer der Verarbeitung: 0.25 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

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.