LibreOffice Module vcl (master) 1
salvtables.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
9#pragma once
10
11#include <vcl/weld.hxx>
12#include <vcl/svapp.hxx>
13#include <vcl/syswin.hxx>
14#include <vcl/settings.hxx>
15#include <vcl/virdev.hxx>
16#include <vcl/ctrl.hxx>
17#include <vcl/toolkit/edit.hxx>
18#include <vcl/formatter.hxx>
20#include <vcl/toolkit/fixed.hxx>
24#include <vcl/tabctrl.hxx>
25#include <vcl/layout.hxx>
29#include "iconview.hxx"
30#include "listbox.hxx"
31#include "messagedialog.hxx"
32
34{
35protected:
36 std::unique_ptr<VclBuilder> m_xBuilder;
38
39public:
40 SalInstanceBuilder(vcl::Window* pParent, const OUString& rUIRoot, const OUString& rUIFile,
41 const css::uno::Reference<css::frame::XFrame>& rFrame
42 = css::uno::Reference<css::frame::XFrame>());
43
44 virtual std::unique_ptr<weld::MessageDialog> weld_message_dialog(const OString& id) override;
45
46 virtual std::unique_ptr<weld::Dialog> weld_dialog(const OString& id) override;
47
48 virtual std::unique_ptr<weld::Assistant> weld_assistant(const OString& id) override;
49
50 virtual std::unique_ptr<weld::Window> create_screenshot_window() override;
51
52 virtual std::unique_ptr<weld::Widget> weld_widget(const OString& id) override;
53
54 virtual std::unique_ptr<weld::Container> weld_container(const OString& id) override;
55
56 virtual std::unique_ptr<weld::Box> weld_box(const OString& id) override;
57
58 virtual std::unique_ptr<weld::Paned> weld_paned(const OString& id) override;
59
60 virtual std::unique_ptr<weld::Frame> weld_frame(const OString& id) override;
61
62 virtual std::unique_ptr<weld::ScrolledWindow>
63 weld_scrolled_window(const OString& id, bool bUserManagedScrolling = false) override;
64
65 virtual std::unique_ptr<weld::Notebook> weld_notebook(const OString& id) override;
66
67 virtual std::unique_ptr<weld::Button> weld_button(const OString& id) override;
68
69 virtual std::unique_ptr<weld::MenuButton> weld_menu_button(const OString& id) override;
70
71 virtual std::unique_ptr<weld::MenuToggleButton>
72 weld_menu_toggle_button(const OString& id) override;
73
74 virtual std::unique_ptr<weld::LinkButton> weld_link_button(const OString& id) override;
75
76 virtual std::unique_ptr<weld::ToggleButton> weld_toggle_button(const OString& id) override;
77
78 virtual std::unique_ptr<weld::RadioButton> weld_radio_button(const OString& id) override;
79
80 virtual std::unique_ptr<weld::CheckButton> weld_check_button(const OString& id) override;
81
82 virtual std::unique_ptr<weld::Scale> weld_scale(const OString& id) override;
83
84 virtual std::unique_ptr<weld::ProgressBar> weld_progress_bar(const OString& id) override;
85
86 virtual std::unique_ptr<weld::Spinner> weld_spinner(const OString& id) override;
87
88 virtual std::unique_ptr<weld::Image> weld_image(const OString& id) override;
89
90 virtual std::unique_ptr<weld::Calendar> weld_calendar(const OString& id) override;
91
92 virtual std::unique_ptr<weld::Entry> weld_entry(const OString& id) override;
93
94 virtual std::unique_ptr<weld::SpinButton> weld_spin_button(const OString& id) override;
95
96 virtual std::unique_ptr<weld::MetricSpinButton>
97 weld_metric_spin_button(const OString& id, FieldUnit eUnit) override;
98
99 virtual std::unique_ptr<weld::FormattedSpinButton>
100 weld_formatted_spin_button(const OString& id) override;
101
102 virtual std::unique_ptr<weld::ComboBox> weld_combo_box(const OString& id) override;
103
104 virtual std::unique_ptr<weld::EntryTreeView>
105 weld_entry_tree_view(const OString& containerid, const OString& entryid,
106 const OString& treeviewid) override;
107
108 virtual std::unique_ptr<weld::TreeView> weld_tree_view(const OString& id) override;
109
110 virtual std::unique_ptr<weld::IconView> weld_icon_view(const OString& id) override;
111
112 virtual std::unique_ptr<weld::Label> weld_label(const OString& id) override;
113
114 virtual std::unique_ptr<weld::TextView> weld_text_view(const OString& id) override;
115
116 virtual std::unique_ptr<weld::Expander> weld_expander(const OString& id) override;
117
118 virtual std::unique_ptr<weld::DrawingArea>
119 weld_drawing_area(const OString& id, const a11yref& rA11yImpl = nullptr,
120 FactoryFunction pUITestFactoryFunction = nullptr,
121 void* pUserData = nullptr) override;
122
123 virtual std::unique_ptr<weld::Menu> weld_menu(const OString& id) override;
124
125 virtual std::unique_ptr<weld::Popover> weld_popover(const OString& id) override;
126
127 virtual std::unique_ptr<weld::Toolbar> weld_toolbar(const OString& id) override;
128
129 virtual std::unique_ptr<weld::Scrollbar> weld_scrollbar(const OString& id) override;
130
131 virtual std::unique_ptr<weld::SizeGroup> create_size_group() override;
132
133 OString get_current_page_help_id() const;
134
135 virtual ~SalInstanceBuilder() override;
136};
137
138class SAL_DLLPUBLIC_RTTI SalInstanceMenu final : public weld::Menu
139{
140private:
142
144 sal_uInt16 m_nLastId;
145
146 DECL_DLLPRIVATE_LINK(SelectMenuHdl, ::Menu*, bool);
147
148public:
149 SalInstanceMenu(PopupMenu* pMenu, bool bTakeOwnership);
150 virtual OString popup_at_rect(weld::Widget* pParent, const tools::Rectangle& rRect,
151 weld::Placement ePlace = weld::Placement::Under) override;
152 virtual void set_sensitive(const OString& rIdent, bool bSensitive) override;
153 virtual bool get_sensitive(const OString& rIdent) const override;
154 virtual void set_active(const OString& rIdent, bool bActive) override;
155 virtual bool get_active(const OString& rIdent) const override;
156 virtual void set_label(const OString& rIdent, const OUString& rLabel) override;
157 virtual OUString get_label(const OString& rIdent) const override;
158 virtual void set_visible(const OString& rIdent, bool bShow) override;
159 virtual void clear() override;
160 virtual void insert(int pos, const OUString& rId, const OUString& rStr,
161 const OUString* pIconName, VirtualDevice* pImageSurface,
162 const css::uno::Reference<css::graphic::XGraphic>& rImage,
163 TriState eCheckRadioFalse) override;
164 virtual void insert_separator(int pos, const OUString& rId) override;
165 virtual void remove(const OString& rId) override;
166 virtual OString get_id(int pos) const override;
167 virtual int n_children() const override;
168 PopupMenu* getMenu() const;
169 virtual ~SalInstanceMenu() override;
170};
171
173
174class SalInstanceWidget : public virtual weld::Widget
175{
176protected:
178 std::unique_ptr<SalFlashAttention> m_xFlashAttention;
180
181private:
182 DECL_LINK(EventListener, VclWindowEvent&, void);
183 DECL_LINK(KeyEventListener, VclWindowEvent&, bool);
184 DECL_LINK(MouseEventListener, VclWindowEvent&, void);
185 DECL_LINK(MnemonicActivateHdl, vcl::Window&, bool);
186
187 static void DoRecursivePaint(vcl::Window* pWindow, const Point& rPos, OutputDevice& rOutput);
188
195
196protected:
198
199 // we want the ability to mark key events as handled, so use this variant
200 // for those, we get all keystrokes in this case, so we will need to filter
201 // them later
202 void ensure_key_listener();
203
204 // we want the ability to know about mouse events that happen in our children
205 // so use this variant, we will need to filter them later
207
208 bool IsFirstFreeze() const { return m_nFreezeCount == 0; }
209 bool IsLastThaw() const { return m_nFreezeCount == 1; }
210
211 virtual void HandleEventListener(VclWindowEvent& rEvent);
212 virtual bool HandleKeyEventListener(VclWindowEvent& rEvent);
213 virtual void HandleMouseEventListener(VclWindowEvent& rEvent);
214
215public:
216 SalInstanceWidget(vcl::Window* pWidget, SalInstanceBuilder* pBuilder, bool bTakeOwnership);
217
218 virtual void set_sensitive(bool sensitive) override;
219
220 virtual bool get_sensitive() const override;
221
222 virtual bool get_visible() const override;
223
224 virtual bool is_visible() const override;
225
226 virtual void set_can_focus(bool bCanFocus) override;
227
228 virtual void grab_focus() override;
229
230 virtual bool has_focus() const override;
231
232 virtual bool is_active() const override;
233
234 virtual bool has_child_focus() const override;
235
236 virtual void show() override;
237
238 virtual void hide() override;
239
240 virtual void set_size_request(int nWidth, int nHeight) override;
241
242 virtual Size get_size_request() const override;
243
244 virtual Size get_preferred_size() const override;
245
246 virtual float get_approximate_digit_width() const override;
247
248 virtual int get_text_height() const override;
249
250 virtual Size get_pixel_size(const OUString& rText) const override;
251
252 virtual vcl::Font get_font() override;
253
254 virtual OString get_buildable_name() const override;
255
256 virtual void set_buildable_name(const OString& rId) override;
257
258 virtual void set_help_id(const OString& rId) override;
259
260 virtual OString get_help_id() const override;
261
262 virtual void set_grid_left_attach(int nAttach) override;
263
264 virtual int get_grid_left_attach() const override;
265
266 virtual void set_grid_width(int nCols) override;
267
268 virtual void set_grid_top_attach(int nAttach) override;
269
270 virtual int get_grid_top_attach() const override;
271
272 virtual void set_hexpand(bool bExpand) override;
273
274 virtual bool get_hexpand() const override;
275
276 virtual void set_vexpand(bool bExpand) override;
277
278 virtual bool get_vexpand() const override;
279
280 virtual void set_margin_top(int nMargin) override;
281
282 virtual void set_margin_bottom(int nMargin) override;
283
284 virtual void set_margin_start(int nMargin) override;
285
286 virtual void set_margin_end(int nMargin) override;
287
288 virtual int get_margin_top() const override;
289
290 virtual int get_margin_bottom() const override;
291
292 virtual int get_margin_start() const override;
293
294 virtual int get_margin_end() const override;
295
296 virtual void set_accessible_name(const OUString& rName) override;
297
298 virtual void set_accessible_description(const OUString& rDescription) override;
299
300 virtual OUString get_accessible_name() const override;
301
302 virtual OUString get_accessible_description() const override;
303
304 virtual void set_accessible_relation_labeled_by(weld::Widget* pLabel) override;
305
306 virtual void set_tooltip_text(const OUString& rTip) override;
307
308 virtual OUString get_tooltip_text() const override;
309
310 virtual void set_cursor_data(void* pData) override;
311
312 virtual void connect_focus_in(const Link<Widget&, void>& rLink) override;
313
314 virtual void connect_mnemonic_activate(const Link<Widget&, bool>& rLink) override;
315
316 virtual void connect_focus_out(const Link<Widget&, void>& rLink) override;
317
318 virtual void connect_size_allocate(const Link<const Size&, void>& rLink) override;
319
320 virtual void connect_mouse_press(const Link<const MouseEvent&, bool>& rLink) override;
321
322 virtual void connect_mouse_move(const Link<const MouseEvent&, bool>& rLink) override;
323
324 virtual void connect_mouse_release(const Link<const MouseEvent&, bool>& rLink) override;
325
326 virtual void connect_key_press(const Link<const KeyEvent&, bool>& rLink) override;
327
328 virtual void connect_key_release(const Link<const KeyEvent&, bool>& rLink) override;
329
330 virtual bool get_extents_relative_to(const Widget& rRelative, int& x, int& y, int& width,
331 int& height) const override;
332
333 virtual void grab_add() override;
334
335 virtual bool has_grab() const override;
336
337 virtual void grab_remove() override;
338
339 virtual bool get_direction() const override;
340
341 virtual void set_direction(bool bRTL) override;
342
343 virtual void freeze() override;
344
345 virtual void thaw() override;
346
347 virtual void set_busy_cursor(bool bBusy) override;
348
349 virtual std::unique_ptr<weld::Container> weld_parent() const override;
350
351 virtual ~SalInstanceWidget() override;
352
353 vcl::Window* getWidget() const;
354
356
357 bool notify_events_disabled() const;
358
360
361 virtual void queue_resize() override;
362
363 virtual void help_hierarchy_foreach(const std::function<bool(const OString&)>& func) override;
364
365 virtual OUString strip_mnemonic(const OUString& rLabel) const override;
366
367 virtual VclPtr<VirtualDevice> create_virtual_device() const override;
368
369 virtual css::uno::Reference<css::datatransfer::dnd::XDropTarget> get_drop_target() override;
370 virtual css::uno::Reference<css::datatransfer::clipboard::XClipboard>
371 get_clipboard() const override;
372
373 virtual void connect_get_property_tree(const Link<tools::JsonWriter&, void>& rLink) override;
374
375 virtual void get_property_tree(tools::JsonWriter& rJsonWriter) override;
376
377 virtual void call_attention_to() override;
378
379 virtual void set_stack_background() override;
380
381 virtual void set_title_background() override;
382
383 virtual void set_toolbar_background() override;
384
385 virtual void set_highlight_background() override;
386
387 virtual void set_background(const Color& rColor) override;
388
389 virtual void draw(OutputDevice& rOutput, const Point& rPos, const Size& rSizePixel) override;
390
392};
393
394class SalInstanceLabel : public SalInstanceWidget, public virtual weld::Label
395{
396private:
397 // Control instead of FixedText so we can also use this for
398 // SelectableFixedText which is derived from Edit. We just typically need
399 // [G|S]etText which exists in their shared baseclass
401
402public:
403 SalInstanceLabel(Control* pLabel, SalInstanceBuilder* pBuilder, bool bTakeOwnership);
404
405 virtual void set_label(const OUString& rText) override;
406
407 virtual OUString get_label() const override;
408
409 virtual void set_mnemonic_widget(Widget* pTarget) override;
410
411 virtual void set_label_type(weld::LabelType eType) override;
412
413 virtual void set_font(const vcl::Font& rFont) override;
414
415 virtual void set_font_color(const Color& rColor) override;
416};
417
419{
421
422public:
424 bool bTakeOwnership);
425 virtual void HandleEventListener(VclWindowEvent& rEvent) override;
426 virtual void connect_container_focus_changed(const Link<Container&, void>& rLink) override;
427 virtual void child_grab_focus() override;
428 virtual void move(weld::Widget* pWidget, weld::Container* pNewParent) override;
429 virtual css::uno::Reference<css::awt::XWindow> CreateChildFrame() override;
430};
431
433{
434private:
436
437 DECL_LINK(HelpHdl, vcl::Window&, bool);
438
439 void override_child_help(vcl::Window* pParent);
440
441 void clear_child_help(vcl::Window* pParent);
442
444
445 void implResetDefault(const vcl::Window* _pWindow);
446
447public:
448 SalInstanceWindow(vcl::Window* pWindow, SalInstanceBuilder* pBuilder, bool bTakeOwnership);
449
450 virtual void set_title(const OUString& rTitle) override;
451
452 virtual OUString get_title() const override;
453
454 void help();
455
456 virtual css::uno::Reference<css::awt::XWindow> GetXWindow() override;
457
458 virtual void resize_to_request() override;
459
460 virtual void set_modal(bool bModal) override;
461
462 virtual bool get_modal() const override;
463
464 virtual void window_move(int x, int y) override;
465
466 virtual Size get_size() const override;
467
468 virtual Point get_position() const override;
469
470 virtual tools::Rectangle get_monitor_workarea() const override;
471
472 virtual void set_centered_on_parent(bool /*bTrackGeometryRequests*/) override;
473
474 virtual bool get_resizable() const override;
475
476 virtual bool has_toplevel_focus() const override;
477
478 virtual void present() override;
479
480 virtual void change_default_widget(weld::Widget* pOld, weld::Widget* pNew) override;
481
482 virtual bool is_default_widget(const weld::Widget* pCandidate) const override;
483
484 virtual void set_window_state(const OString& rStr) override;
485
486 virtual OString get_window_state(vcl::WindowDataMask nMask) const override;
487
488 virtual SystemEnvData get_system_data() const override;
489
491
492 virtual VclPtr<VirtualDevice> screenshot() override;
493
494 virtual ~SalInstanceWindow() override;
495};
496
498{
499private:
501
502 // for calc ref dialog that shrink to range selection widgets and resize back
504 std::vector<VclPtr<vcl::Window>> m_aHiddenWidgets; // vector of hidden Controls
505 tools::Long m_nOldEditWidthReq; // Original width request of the input field
506 sal_Int32 m_nOldBorderWidth; // border width for expanded dialog
507
508 DECL_LINK(PopupScreenShotMenuHdl, const CommandEvent&, bool);
509
510public:
511 SalInstanceDialog(::Dialog* pDialog, SalInstanceBuilder* pBuilder, bool bTakeOwnership);
512
513 virtual bool runAsync(std::shared_ptr<weld::DialogController> aOwner,
514 const std::function<void(sal_Int32)>& rEndDialogFn) override;
515
516 virtual bool runAsync(std::shared_ptr<Dialog> const& rxSelf,
517 const std::function<void(sal_Int32)>& rEndDialogFn) override;
518
519 virtual void collapse(weld::Widget* pEdit, weld::Widget* pButton) override;
520
521 virtual void undo_collapse() override;
522
523 virtual void
525
526 virtual int run() override;
527
528 virtual void response(int nResponse) override;
529
530 virtual void add_button(const OUString& rText, int nResponse,
531 const OString& rHelpId = OString()) override;
532
533 virtual void set_modal(bool bModal) override;
534
535 virtual bool get_modal() const override;
536
537 virtual weld::Button* weld_widget_for_response(int nResponse) override;
538
539 virtual void set_default_response(int nResponse) override;
540
541 virtual weld::Container* weld_content_area() override;
542};
543
544class WeldTextFilter final : public TextFilter
545{
546private:
548
549public:
550 WeldTextFilter(Link<OUString&, bool>& rInsertTextHdl);
551
552 virtual OUString filter(const OUString& rText) override;
553};
554
555class SalInstanceEntry : public SalInstanceWidget, public virtual weld::Entry
556{
557private:
559
560 DECL_LINK(ChangeHdl, Edit&, void);
561 DECL_LINK(CursorListener, VclWindowEvent&, void);
562 DECL_LINK(ActivateHdl, Edit&, bool);
563
565
566public:
567 SalInstanceEntry(::Edit* pEntry, SalInstanceBuilder* pBuilder, bool bTakeOwnership);
568
569 virtual void set_text(const OUString& rText) override;
570
571 virtual OUString get_text() const override;
572
573 virtual void set_width_chars(int nChars) override;
574
575 virtual int get_width_chars() const override;
576
577 virtual void set_max_length(int nChars) override;
578
579 virtual void select_region(int nStartPos, int nEndPos) override;
580
581 bool get_selection_bounds(int& rStartPos, int& rEndPos) override;
582
583 virtual void replace_selection(const OUString& rText) override;
584
585 virtual void set_position(int nCursorPos) override;
586
587 virtual int get_position() const override;
588
589 virtual void set_editable(bool bEditable) override;
590
591 virtual bool get_editable() const override;
592
593 virtual void set_overwrite_mode(bool bOn) override;
594
595 virtual bool get_overwrite_mode() const override;
596
597 virtual void set_message_type(weld::EntryMessageType eType) override;
598
599 virtual void set_font(const vcl::Font& rFont) override;
600
601 virtual void set_font_color(const Color& rColor) override;
602
603 virtual void connect_cursor_position(const Link<Entry&, void>& rLink) override;
604
605 virtual void set_placeholder_text(const OUString& rText) override;
606
607 Edit& getEntry();
608
609 void fire_signal_changed();
610
611 virtual void cut_clipboard() override;
612
613 virtual void copy_clipboard() override;
614
615 virtual void paste_clipboard() override;
616
617 virtual void set_alignment(TxtAlign eXAlign) override;
618
619 virtual ~SalInstanceEntry() override;
620};
621
623{
625
626protected:
628
629private:
630 DECL_LINK(UpDownHdl, SpinField&, void);
631 DECL_LINK(LoseFocusHdl, Control&, void);
632 DECL_LINK(OutputHdl, LinkParamNone*, bool);
633 DECL_LINK(InputHdl, sal_Int64*, TriState);
634 DECL_LINK(ActivateHdl, Edit&, bool);
635
636 double toField(sal_Int64 nValue) const;
637
638 sal_Int64 fromField(double fValue) const;
639
640public:
642 bool bTakeOwnership);
643
644 virtual sal_Int64 get_value() const override;
645
646 virtual void set_value(sal_Int64 value) override;
647
648 virtual void set_range(sal_Int64 min, sal_Int64 max) override;
649
650 virtual void get_range(sal_Int64& min, sal_Int64& max) const override;
651
652 virtual void set_increments(int step, int /*page*/) override;
653
654 virtual void get_increments(int& step, int& page) const override;
655
656 virtual void set_digits(unsigned int digits) override;
657
658 // SpinButton may be comprised of multiple subwidgets, consider the lot as
659 // one thing for focus
660 virtual bool has_focus() const override;
661
662 //off by default for direct SpinButtons, MetricSpinButton enables it
663 void SetUseThousandSep();
664
665 virtual unsigned int get_digits() const override;
666
667 virtual ~SalInstanceSpinButton() override;
668};
669
670//ComboBox and ListBox have similar apis, ComboBoxes in LibreOffice have an edit box and ListBoxes
671//don't. This distinction isn't there in Gtk. Use a template to sort this problem out.
672template <class vcl_type>
674{
675protected:
676 // owner for ListBox/ComboBox UserData
677 std::vector<std::shared_ptr<OUString>> m_aUserData;
681
682public:
683 SalInstanceComboBox(vcl_type* pComboBox, SalInstanceBuilder* pBuilder, bool bTakeOwnership)
684 : SalInstanceWidget(pComboBox, pBuilder, bTakeOwnership)
685 , m_xComboBox(pComboBox)
686 {
687 }
688
689 virtual int get_active() const override
690 {
691 const sal_Int32 nRet = m_xComboBox->GetSelectedEntryPos();
692 if (nRet == LISTBOX_ENTRY_NOTFOUND)
693 return -1;
694 return nRet;
695 }
696
697 const OUString* getEntryData(int index) const
698 {
699 return static_cast<const OUString*>(m_xComboBox->GetEntryData(index));
700 }
701
702 // ComboBoxes are comprised of multiple subwidgets, consider the lot as
703 // one thing for focus
704 virtual bool has_focus() const override
705 {
707 || (m_xMenuButton && (m_xMenuButton->HasFocus() || m_xMenuButton->InPopupMode()));
708 }
709
710 virtual OUString get_active_id() const override
711 {
712 sal_Int32 nPos = m_xComboBox->GetSelectedEntryPos();
713 const OUString* pRet;
715 pRet = getEntryData(m_xComboBox->GetSelectedEntryPos());
716 else
717 pRet = nullptr;
718 if (!pRet)
719 return OUString();
720 return *pRet;
721 }
722
723 virtual void set_active_id(const OUString& rStr) override
724 {
725 for (int i = 0; i < get_count(); ++i)
726 {
727 const OUString* pId = getEntryData(i);
728 if (!pId)
729 continue;
730 if (*pId == rStr)
731 m_xComboBox->SelectEntryPos(i);
732 }
733 }
734
735 virtual void set_active(int pos) override
736 {
737 assert(m_xComboBox->IsUpdateMode()
738 && "don't set_active when frozen, set_active after thaw. Note selection doesn't "
739 "survive a "
740 "freeze");
741 if (pos == -1)
742 {
743 m_xComboBox->SetNoSelection();
744 return;
745 }
746 m_xComboBox->SelectEntryPos(pos);
747 }
748
749 virtual OUString get_text(int pos) const override { return m_xComboBox->GetEntry(pos); }
750
751 virtual OUString get_id(int pos) const override
752 {
753 const OUString* pRet = getEntryData(pos);
754 if (!pRet)
755 return OUString();
756 return *pRet;
757 }
758
759 virtual void set_id(int row, const OUString& rId) override
760 {
761 m_aUserData.emplace_back(std::make_unique<OUString>(rId));
762 m_xComboBox->SetEntryData(row, m_aUserData.back().get());
763 }
764
765 virtual void insert_vector(const std::vector<weld::ComboBoxEntry>& rItems,
766 bool bKeepExisting) override
767 {
768 freeze();
769 if (!bKeepExisting)
770 clear();
771 for (const auto& rItem : rItems)
772 {
773 insert(-1, rItem.sString, rItem.sId.isEmpty() ? nullptr : &rItem.sId,
774 rItem.sImage.isEmpty() ? nullptr : &rItem.sImage, nullptr);
775 }
776 thaw();
777 }
778
779 virtual int get_count() const override { return m_xComboBox->GetEntryCount(); }
780
781 virtual int find_text(const OUString& rStr) const override
782 {
783 const sal_Int32 nRet = m_xComboBox->GetEntryPos(rStr);
784 if (nRet == LISTBOX_ENTRY_NOTFOUND)
785 return -1;
786 return nRet;
787 }
788
789 virtual int find_id(const OUString& rStr) const override
790 {
791 for (int i = 0; i < get_count(); ++i)
792 {
793 const OUString* pId = getEntryData(i);
794 if (!pId)
795 continue;
796 if (*pId == rStr)
797 return i;
798 }
799 return -1;
800 }
801
802 virtual void clear() override
803 {
804 m_xComboBox->Clear();
805 m_aUserData.clear();
806 }
807
808 virtual void make_sorted() override
809 {
810 m_xComboBox->SetStyle(m_xComboBox->GetStyle() | WB_SORT);
811 }
812
813 virtual bool get_popup_shown() const override { return m_xComboBox->IsInDropDown(); }
814
815 virtual void connect_popup_toggled(const Link<ComboBox&, void>& rLink) override
816 {
819 }
820
822 {
823 vcl::RenderContext* pRenderContext = pEvent->GetRenderContext();
824 auto nPos = pEvent->GetItemId();
825 const tools::Rectangle& rRect = pEvent->GetRect();
826 const OUString sId = get_id(nPos);
827 signal_custom_render(*pRenderContext, rRect, pEvent->IsSelected(), sId);
828 m_xComboBox->DrawEntry(*pEvent); // draw separator
829
830 if (m_xMenuButton && m_xMenuButton->IsVisible() && m_sMenuButtonRow == sId)
831 {
832 vcl::Window* pEventWindow = m_xComboBox->GetMainWindow();
833 if (m_xMenuButton->GetParent() != pEventWindow)
834 m_xMenuButton->SetParent(pEventWindow);
836 m_xMenuButton->SetSizePixel(Size(nButtonWidth, rRect.GetHeight()));
837 m_xMenuButton->SetPosPixel(Point(rRect.GetWidth() - nButtonWidth, rRect.Top()));
838 }
839 }
840
842 {
843 auto xRet = VclPtr<VirtualDevice>::Create();
844 xRet->SetBackground(Application::GetSettings().GetStyleSettings().GetFieldColor());
845 return xRet;
846 }
847
848 virtual void set_item_menu(const OString& rIdent, weld::Menu* pMenu) override
849 {
850 SalInstanceMenu* pInstanceMenu = dynamic_cast<SalInstanceMenu*>(pMenu);
851
852 PopupMenu* pPopup = pInstanceMenu ? pInstanceMenu->getMenu() : nullptr;
853
854 if (!m_xMenuButton)
857
858 m_xMenuButton->SetPopupMenu(pPopup);
859 m_xMenuButton->Show(pPopup != nullptr);
860 m_sMenuButtonRow = OUString::fromUtf8(rIdent);
861 }
862
863 int get_menu_button_width() const override
864 {
866 return 20 * (pDefault ? pDefault->GetDPIScaleFactor() : 1.0);
867 }
868
870 {
871 if (rEvent.GetId() == VclEventId::DropdownPreOpen
872 || rEvent.GetId() == VclEventId::DropdownClose)
873 {
875 return;
876 }
878 }
879};
880
882{
883private:
884 DECL_LINK(SelectHdl, ListBox&, void);
885
886public:
888 bool bTakeOwnership);
889
890 virtual OUString get_active_text() const override;
891
892 virtual void remove(int pos) override;
893
894 virtual void insert(int pos, const OUString& rStr, const OUString* pId,
895 const OUString* pIconName, VirtualDevice* pImageSurface) override;
896
897 virtual void insert_separator(int pos, const OUString& /*rId*/) override;
898
899 virtual bool has_entry() const override;
900
901 virtual bool changed_by_direct_pick() const override;
902
903 virtual void set_entry_message_type(weld::EntryMessageType /*eType*/) override;
904
905 virtual void set_entry_text(const OUString& /*rText*/) override;
906
907 virtual void select_entry_region(int /*nStartPos*/, int /*nEndPos*/) override;
908
909 virtual bool get_entry_selection_bounds(int& /*rStartPos*/, int& /*rEndPos*/) override;
910
911 virtual void set_entry_width_chars(int /*nChars*/) override;
912
913 virtual void set_entry_max_length(int /*nChars*/) override;
914
915 virtual void set_entry_completion(bool, bool bCaseSensitive = false) override;
916
917 virtual void set_entry_placeholder_text(const OUString&) override;
918
919 virtual void set_entry_editable(bool bEditable) override;
920
921 virtual void cut_entry_clipboard() override;
922
923 virtual void copy_entry_clipboard() override;
924
925 virtual void paste_entry_clipboard() override;
926
927 virtual void set_font(const vcl::Font& rFont) override;
928
929 virtual void set_entry_font(const vcl::Font&) override;
930
931 virtual vcl::Font get_entry_font() override;
932
933 virtual void set_custom_renderer(bool bOn) override;
934
935 virtual int get_max_mru_count() const override;
936
937 virtual void set_max_mru_count(int) override;
938
939 virtual OUString get_mru_entries() const override;
940
941 virtual void set_mru_entries(const OUString&) override;
942
943 virtual void HandleEventListener(VclWindowEvent& rEvent) override;
944
945 virtual ~SalInstanceComboBoxWithoutEdit() override;
946};
947
949{
950private:
951 DECL_LINK(ChangeHdl, Edit&, void);
952 DECL_LINK(EntryActivateHdl, Edit&, bool);
953 DECL_LINK(SelectHdl, ::ComboBox&, void);
954 DECL_LINK(UserDrawHdl, UserDrawEvent*, void);
957
958public:
960 bool bTakeOwnership);
961
962 virtual bool has_entry() const override;
963
964 virtual bool changed_by_direct_pick() const override;
965
966 virtual void set_entry_message_type(weld::EntryMessageType eType) override;
967
968 virtual OUString get_active_text() const override;
969
970 virtual void remove(int pos) override;
971
972 virtual void insert(int pos, const OUString& rStr, const OUString* pId,
973 const OUString* pIconName, VirtualDevice* pImageSurface) override;
974
975 virtual void insert_separator(int pos, const OUString& /*rId*/) override;
976
977 virtual void set_entry_text(const OUString& rText) override;
978
979 virtual void set_entry_width_chars(int nChars) override;
980
981 virtual void set_entry_max_length(int nChars) override;
982
983 virtual void set_entry_completion(bool bEnable, bool bCaseSensitive = false) override;
984
985 virtual void set_entry_placeholder_text(const OUString& rText) override;
986
987 virtual void set_entry_editable(bool bEditable) override;
988
989 virtual void cut_entry_clipboard() override;
990
991 virtual void copy_entry_clipboard() override;
992
993 virtual void paste_entry_clipboard() override;
994
995 virtual void select_entry_region(int nStartPos, int nEndPos) override;
996
997 virtual bool get_entry_selection_bounds(int& rStartPos, int& rEndPos) override;
998
999 virtual void set_font(const vcl::Font& rFont) override;
1000
1001 virtual void set_entry_font(const vcl::Font& rFont) override;
1002
1003 virtual vcl::Font get_entry_font() override;
1004
1005 virtual void set_custom_renderer(bool bOn) override;
1006
1007 virtual int get_max_mru_count() const override;
1008
1009 virtual void set_max_mru_count(int nCount) override;
1010
1011 virtual OUString get_mru_entries() const override;
1012
1013 virtual void set_mru_entries(const OUString& rEntries) override;
1014
1015 virtual void HandleEventListener(VclWindowEvent& rEvent) override;
1016
1017 virtual void call_attention_to() override;
1018
1019 virtual ~SalInstanceComboBoxWithEdit() override;
1020};
1021
1023{
1024private:
1027
1028 DECL_LINK(ClickHdl, ::Button*, void);
1029
1030protected:
1031 void set_label_wrap(bool bWrap);
1032
1033public:
1034 SalInstanceButton(::Button* pButton, SalInstanceBuilder* pBuilder, bool bTakeOwnership);
1035
1036 virtual void set_label(const OUString& rText) override;
1037
1038 virtual void set_image(VirtualDevice* pDevice) override;
1039
1040 virtual void set_image(const css::uno::Reference<css::graphic::XGraphic>& rImage) override;
1041
1042 virtual void set_from_icon_name(const OUString& rIconName) override;
1043
1044 virtual OUString get_label() const override;
1045
1046 virtual void set_font(const vcl::Font& rFont) override;
1047
1048 virtual void set_custom_button(VirtualDevice* pDevice) override;
1049
1050 virtual ~SalInstanceButton() override;
1051};
1052
1054{
1055private:
1057 mutable std::vector<std::shared_ptr<SalInstanceContainer>> m_aPages;
1058 std::map<OString, std::pair<VclPtr<TabPage>, VclPtr<VclGrid>>> m_aAddedPages;
1059
1060 DECL_LINK(DeactivatePageHdl, TabControl*, bool);
1061 DECL_LINK(ActivatePageHdl, TabControl*, void);
1062
1063public:
1064 SalInstanceNotebook(TabControl* pNotebook, SalInstanceBuilder* pBuilder, bool bTakeOwnership);
1065
1066 virtual int get_current_page() const override;
1067
1068 virtual int get_page_index(const OString& rIdent) const override;
1069
1070 virtual OString get_page_ident(int nPage) const override;
1071
1072 virtual OString get_current_page_ident() const override;
1073
1074 virtual weld::Container* get_page(const OString& rIdent) const override;
1075
1076 virtual void set_current_page(int nPage) override;
1077
1078 virtual void set_current_page(const OString& rIdent) override;
1079
1080 virtual void remove_page(const OString& rIdent) override;
1081
1082 virtual void insert_page(const OString& rIdent, const OUString& rLabel, int nPos) override;
1083
1084 virtual int get_n_pages() const override;
1085
1086 virtual OUString get_tab_label_text(const OString& rIdent) const override;
1087
1088 virtual void set_tab_label_text(const OString& rIdent, const OUString& rText) override;
1089
1090 virtual void set_show_tabs(bool bShow) override;
1091
1092 virtual ~SalInstanceNotebook() override;
1093};
1094
1096{
1097protected:
1099
1100public:
1102 bool bTakeOwnership);
1103
1104 virtual void set_primary_text(const OUString& rText) override;
1105
1106 virtual OUString get_primary_text() const override;
1107
1108 virtual void set_secondary_text(const OUString& rText) override;
1109
1110 virtual OUString get_secondary_text() const override;
1111
1112 virtual weld::Container* weld_message_area() override;
1113};
1114
1116{
1117private:
1119
1120 DECL_LINK(ToggleHdl, CheckBox&, void);
1121
1122public:
1123 SalInstanceCheckButton(CheckBox* pButton, SalInstanceBuilder* pBuilder, bool bTakeOwnership);
1124
1125 virtual void set_active(bool active) override;
1126
1127 virtual bool get_active() const override;
1128
1129 virtual void set_inconsistent(bool inconsistent) override;
1130
1131 virtual bool get_inconsistent() const override;
1132
1133 virtual void set_label(const OUString& rText) override { SalInstanceButton::set_label(rText); }
1134
1135 virtual OUString get_label() const override { return SalInstanceButton::get_label(); }
1136
1137 virtual void set_label_wrap(bool wrap) override { SalInstanceButton::set_label_wrap(wrap); }
1138
1139 virtual ~SalInstanceCheckButton() override;
1140};
1141
1143{
1144private:
1146
1147 typedef std::pair<vcl::RenderContext&, const tools::Rectangle&> target_and_area;
1148 DECL_LINK(PaintHdl, target_and_area, void);
1149 DECL_LINK(ResizeHdl, const Size&, void);
1150 DECL_LINK(MousePressHdl, const MouseEvent&, bool);
1151 DECL_LINK(MouseMoveHdl, const MouseEvent&, bool);
1152 DECL_LINK(MouseReleaseHdl, const MouseEvent&, bool);
1153 DECL_LINK(KeyPressHdl, const KeyEvent&, bool);
1154 DECL_LINK(KeyReleaseHdl, const KeyEvent&, bool);
1155 DECL_LINK(StyleUpdatedHdl, VclDrawingArea&, void);
1156 DECL_LINK(CommandHdl, const CommandEvent&, bool);
1157 DECL_LINK(QueryTooltipHdl, tools::Rectangle&, OUString);
1158 DECL_LINK(GetSurroundingHdl, OUString&, int);
1159 DECL_LINK(DeleteSurroundingHdl, const Selection&, bool);
1160 DECL_LINK(StartDragHdl, VclDrawingArea*, bool);
1161
1162 // SalInstanceWidget has a generic listener for all these
1163 // events, ignore the ones we have specializations for
1164 // in VclDrawingArea
1165 virtual void HandleEventListener(VclWindowEvent& rEvent) override;
1166
1167 virtual void HandleMouseEventListener(VclWindowEvent& rEvent) override;
1168
1169 virtual bool HandleKeyEventListener(VclWindowEvent& /*rEvent*/) override;
1170
1171public:
1173 const a11yref& rAlly, FactoryFunction pUITestFactoryFunction,
1174 void* pUserData, bool bTakeOwnership);
1175
1176 virtual void queue_draw() override;
1177
1178 virtual void queue_draw_area(int x, int y, int width, int height) override;
1179
1180 virtual void connect_size_allocate(const Link<const Size&, void>& rLink) override;
1181
1182 virtual void connect_key_press(const Link<const KeyEvent&, bool>& rLink) override;
1183
1184 virtual void connect_key_release(const Link<const KeyEvent&, bool>& rLink) override;
1185
1186 virtual void set_cursor(PointerStyle ePointerStyle) override;
1187
1188 virtual Point get_pointer_position() const override;
1189
1190 virtual void set_input_context(const InputContext& rInputContext) override;
1191
1192 virtual void im_context_set_cursor_location(const tools::Rectangle& rCursorRect,
1193 int nExtTextInputWidth) override;
1194
1195 virtual a11yref get_accessible_parent() override;
1196
1198
1199 virtual Point get_accessible_location_on_screen() override;
1200
1202 sal_uInt8 eDNDConstants) override;
1203
1204 virtual ~SalInstanceDrawingArea() override;
1205
1206 virtual OutputDevice& get_ref_device() override;
1207
1208 virtual void click(const Point& rPos) override;
1209};
1210
1212{
1213protected:
1215 std::map<ToolBoxItemId, VclPtr<vcl::Window>> m_aFloats;
1216 std::map<ToolBoxItemId, VclPtr<PopupMenu>> m_aMenus;
1217
1219
1220 DECL_LINK(ClickHdl, ToolBox*, void);
1221 DECL_LINK(DropdownClick, ToolBox*, void);
1222 DECL_LINK(MenuToggleListener, VclWindowEvent&, void);
1223
1224public:
1225 SalInstanceToolbar(ToolBox* pToolBox, SalInstanceBuilder* pBuilder, bool bTakeOwnership);
1226
1227 virtual void set_item_sensitive(const OString& rIdent, bool bSensitive) override;
1228
1229 virtual bool get_item_sensitive(const OString& rIdent) const override;
1230
1231 virtual void set_item_visible(const OString& rIdent, bool bVisible) override;
1232
1233 virtual void set_item_help_id(const OString& rIdent, const OString& rHelpId) override;
1234
1235 virtual bool get_item_visible(const OString& rIdent) const override;
1236
1237 virtual void set_item_active(const OString& rIdent, bool bActive) override;
1238
1239 virtual bool get_item_active(const OString& rIdent) const override;
1240
1241 void set_menu_item_active(const OString& rIdent, bool bActive) override;
1242
1243 bool get_menu_item_active(const OString& rIdent) const override;
1244
1245 virtual void set_item_popover(const OString& rIdent, weld::Widget* pPopover) override;
1246
1247 virtual void set_item_menu(const OString& rIdent, weld::Menu* pMenu) override;
1248
1249 virtual void insert_item(int pos, const OUString& rId) override;
1250
1251 virtual void insert_separator(int pos, const OUString& /*rId*/) override;
1252
1253 virtual int get_n_items() const override;
1254
1255 virtual OString get_item_ident(int nIndex) const override;
1256
1257 virtual void set_item_ident(int nIndex, const OString& rIdent) override;
1258
1259 virtual void set_item_label(int nIndex, const OUString& rLabel) override;
1260
1261 virtual OUString get_item_label(const OString& rIdent) const override;
1262
1263 virtual void set_item_label(const OString& rIdent, const OUString& rLabel) override;
1264
1265 virtual void set_item_icon_name(const OString& rIdent, const OUString& rIconName) override;
1266
1267 virtual void set_item_image_mirrored(const OString& rIdent, bool bMirrored) override;
1268
1269 virtual void set_item_image(const OString& rIdent,
1270 const css::uno::Reference<css::graphic::XGraphic>& rIcon) override;
1271
1272 virtual void set_item_image(const OString& rIdent, VirtualDevice* pDevice) override;
1273
1274 virtual void set_item_image(int nIndex,
1275 const css::uno::Reference<css::graphic::XGraphic>& rIcon) override;
1276
1277 virtual void set_item_tooltip_text(int nIndex, const OUString& rTip) override;
1278
1279 virtual void set_item_tooltip_text(const OString& rIdent, const OUString& rTip) override;
1280
1281 virtual OUString get_item_tooltip_text(const OString& rIdent) const override;
1282
1283 virtual vcl::ImageType get_icon_size() const override;
1284
1285 virtual void set_icon_size(vcl::ImageType eType) override;
1286
1287 virtual sal_uInt16 get_modifier_state() const override;
1288
1289 virtual int get_drop_index(const Point& rPoint) const override;
1290
1291 virtual ~SalInstanceToolbar() override;
1292};
1293
1295{
1296private:
1299
1300 DECL_LINK(ChangeHdl, Edit&, void);
1301 DECL_LINK(VscrollHdl, ScrollBar*, void);
1302 DECL_LINK(CursorListener, VclWindowEvent&, void);
1303
1304public:
1306 bool bTakeOwnership);
1307
1308 virtual void set_text(const OUString& rText) override;
1309
1310 virtual void replace_selection(const OUString& rText) override;
1311
1312 virtual OUString get_text() const override;
1313
1314 bool get_selection_bounds(int& rStartPos, int& rEndPos) override;
1315
1316 virtual void select_region(int nStartPos, int nEndPos) override;
1317
1318 virtual void set_editable(bool bEditable) override;
1319 virtual bool get_editable() const override;
1320 virtual void set_max_length(int nChars) override;
1321
1322 virtual void set_monospace(bool bMonospace) override;
1323
1324 virtual void set_font(const vcl::Font& rFont) override;
1325
1326 virtual void set_font_color(const Color& rColor) override;
1327
1328 virtual void connect_cursor_position(const Link<TextView&, void>& rLink) override;
1329
1330 virtual bool can_move_cursor_with_up() const override;
1331
1332 virtual bool can_move_cursor_with_down() const override;
1333
1334 virtual void cut_clipboard() override;
1335
1336 virtual void copy_clipboard() override;
1337
1338 virtual void paste_clipboard() override;
1339
1340 virtual void set_alignment(TxtAlign eXAlign) override;
1341
1342 virtual int vadjustment_get_value() const override;
1343
1344 virtual void vadjustment_set_value(int value) override;
1345
1346 virtual int vadjustment_get_upper() const override;
1347
1348 virtual int vadjustment_get_lower() const override;
1349
1350 virtual int vadjustment_get_page_size() const override;
1351
1352 virtual bool has_focus() const override;
1353
1354 virtual ~SalInstanceTextView() override;
1355};
1356
1358{
1360 : iter(pOrig ? pOrig->iter : nullptr)
1361 {
1362 }
1364 : iter(pIter)
1365 {
1366 }
1367 virtual bool equal(const TreeIter& rOther) const override
1368 {
1369 return iter == static_cast<const SalInstanceTreeIter&>(rOther).iter;
1370 }
1372};
1373
1375{
1376protected:
1377 // owner for UserData
1378 std::vector<std::unique_ptr<OUString>> m_aUserData;
1382 // currently expanding parent that logically, but not currently physically,
1383 // contain placeholders
1385 // which columns should be custom rendered
1389
1390 DECL_LINK(SelectHdl, SvTreeListBox*, void);
1391 DECL_LINK(DeSelectHdl, SvTreeListBox*, void);
1392 DECL_LINK(DoubleClickHdl, SvTreeListBox*, bool);
1393 DECL_LINK(ExpandingHdl, SvTreeListBox*, bool);
1394 DECL_LINK(EndDragHdl, HeaderBar*, void);
1395 DECL_LINK(HeaderBarClickedHdl, HeaderBar*, void);
1396 DECL_LINK(ToggleHdl, SvLBoxButtonData*, void);
1397 DECL_LINK(ModelChangedHdl, SvTreeListBox*, void);
1398 DECL_LINK(StartDragHdl, SvTreeListBox*, bool);
1400 DECL_LINK(EditingEntryHdl, SvTreeListEntry*, bool);
1401 typedef std::pair<SvTreeListEntry*, OUString> IterString;
1402 DECL_LINK(EditedEntryHdl, IterString, bool);
1403 DECL_LINK(VisibleRangeChangedHdl, SvTreeListBox*, void);
1404 DECL_LINK(CompareHdl, const SvSortData&, sal_Int32);
1405 DECL_LINK(PopupMenuHdl, const CommandEvent&, bool);
1406 DECL_LINK(TooltipHdl, SvTreeListEntry*, OUString);
1407 DECL_LINK(CustomRenderHdl, svtree_render_args, void);
1409
1410 // Each row has a cell for the expander image, (and an optional cell for a
1411 // checkbutton if enable_toggle_buttons has been called) which precede
1412 // index 0
1413 int to_internal_model(int col) const;
1414
1415 int to_external_model(int col) const;
1416
1417 bool IsDummyEntry(SvTreeListEntry* pEntry) const;
1418
1420
1421 static void set_font_color(SvTreeListEntry* pEntry, const Color& rColor);
1422
1423 void AddStringItem(SvTreeListEntry* pEntry, const OUString& rStr, int nCol);
1424
1425 void do_insert(const weld::TreeIter* pParent, int pos, const OUString* pStr,
1426 const OUString* pId, const OUString* pIconName,
1427 const VirtualDevice* pImageSurface, bool bChildrenOnDemand, weld::TreeIter* pRet,
1428 bool bIsSeparator);
1429
1431
1433
1434 void do_set_toggle(SvTreeListEntry* pEntry, TriState eState, int col);
1435
1436 static TriState do_get_toggle(SvTreeListEntry* pEntry, int col);
1437 static bool do_get_sensitive(SvTreeListEntry* pEntry, int col);
1438
1439 TriState get_toggle(SvTreeListEntry* pEntry, int col) const;
1440
1441 void set_toggle(SvTreeListEntry* pEntry, TriState eState, int col);
1442
1443 bool get_text_emphasis(SvTreeListEntry* pEntry, int col) const;
1444
1445 void set_header_item_width(const std::vector<int>& rWidths);
1446
1447public:
1448 SalInstanceTreeView(SvTabListBox* pTreeView, SalInstanceBuilder* pBuilder, bool bTakeOwnership);
1449
1450 virtual void connect_query_tooltip(const Link<const weld::TreeIter&, OUString>& rLink) override;
1451
1452 virtual void columns_autosize() override;
1453
1454 virtual void freeze() override;
1455
1456 virtual void thaw() override;
1457
1458 virtual void set_column_fixed_widths(const std::vector<int>& rWidths) override;
1459
1460 virtual void set_column_editables(const std::vector<bool>& rEditables) override;
1461
1462 virtual void set_centered_column(int nCol) override;
1463
1464 virtual int get_column_width(int nColumn) const override;
1465
1466 virtual OUString get_column_title(int nColumn) const override;
1467
1468 virtual void set_column_title(int nColumn, const OUString& rTitle) override;
1469
1470 virtual void set_column_custom_renderer(int nColumn, bool bEnable) override;
1471
1472 virtual void queue_draw() override;
1473
1474 virtual void show() override;
1475
1476 virtual void hide() override;
1477
1478 virtual void insert(const weld::TreeIter* pParent, int pos, const OUString* pStr,
1479 const OUString* pId, const OUString* pIconName,
1480 VirtualDevice* pImageSurface, bool bChildrenOnDemand,
1481 weld::TreeIter* pRet) override;
1482
1483 virtual void insert_separator(int pos, const OUString& /*rId*/) override;
1484
1485 virtual void
1486 bulk_insert_for_each(int nSourceCount,
1487 const std::function<void(weld::TreeIter&, int nSourceIndex)>& func,
1488 const weld::TreeIter* pParent = nullptr,
1489 const std::vector<int>* pFixedWidths = nullptr) override;
1490
1491 virtual void set_font_color(int pos, const Color& rColor) override;
1492
1493 virtual void set_font_color(const weld::TreeIter& rIter, const Color& rColor) override;
1494
1495 virtual void remove(int pos) override;
1496
1497 virtual int find_text(const OUString& rText) const override;
1498
1499 virtual int find_id(const OUString& rId) const override;
1500
1501 virtual void swap(int pos1, int pos2) override;
1502
1503 virtual void clear() override;
1504
1505 virtual int n_children() const override;
1506
1507 virtual int iter_n_children(const weld::TreeIter& rIter) const override;
1508
1509 virtual void select(int pos) override;
1510
1511 virtual int get_cursor_index() const override;
1512
1513 virtual void set_cursor(int pos) override;
1514
1515 virtual void scroll_to_row(int pos) override;
1516
1517 virtual bool is_selected(int pos) const override;
1518
1519 virtual void unselect(int pos) override;
1520
1521 virtual std::vector<int> get_selected_rows() const override;
1522
1523 OUString get_text(SvTreeListEntry* pEntry, int col) const;
1524
1525 virtual OUString get_text(int pos, int col = -1) const override;
1526
1527 void set_text(SvTreeListEntry* pEntry, const OUString& rText, int col);
1528
1529 virtual void set_text(int pos, const OUString& rText, int col = -1) override;
1530
1533
1534 void set_sensitive(SvTreeListEntry* pEntry, bool bSensitive, int col);
1535 bool get_sensitive(SvTreeListEntry* pEntry, int col) const;
1536
1537 virtual void set_sensitive(int pos, bool bSensitive, int col = -1) override;
1538
1539 virtual void set_sensitive(const weld::TreeIter& rIter, bool bSensitive, int col = -1) override;
1540
1541 virtual bool get_sensitive(int pos, int col) const override;
1542
1543 virtual bool get_sensitive(const weld::TreeIter& rIter, int col) const override;
1544
1545 virtual TriState get_toggle(int pos, int col = -1) const override;
1546
1547 virtual TriState get_toggle(const weld::TreeIter& rIter, int col = -1) const override;
1548
1549 virtual void enable_toggle_buttons(weld::ColumnToggleType eType) override;
1550
1551 virtual void set_toggle(int pos, TriState eState, int col = -1) override;
1552
1553 virtual void set_toggle(const weld::TreeIter& rIter, TriState eState, int col = -1) override;
1554
1555 virtual void set_clicks_to_toggle(int nToggleBehavior) override;
1556
1557 virtual void set_extra_row_indent(const weld::TreeIter& rIter, int nIndentLevel) override;
1558
1559 void set_text_emphasis(SvTreeListEntry* pEntry, bool bOn, int col = -1);
1560
1561 virtual void set_text_emphasis(const weld::TreeIter& rIter, bool bOn, int col) override;
1562
1563 virtual void set_text_emphasis(int pos, bool bOn, int col) override;
1564
1565 virtual bool get_text_emphasis(const weld::TreeIter& rIter, int col) const override;
1566
1567 virtual bool get_text_emphasis(int pos, int col) const override;
1568
1569 void set_text_align(SvTreeListEntry* pEntry, double fAlign, int col);
1570
1571 virtual void set_text_align(const weld::TreeIter& rIter, double fAlign, int col) override;
1572
1573 virtual void set_text_align(int pos, double fAlign, int col) override;
1574
1575 virtual void connect_editing(const Link<const weld::TreeIter&, bool>& rStartLink,
1576 const Link<const iter_string&, bool>& rEndLink) override;
1577
1578 virtual void start_editing(const weld::TreeIter& rIter) override;
1579
1580 virtual void end_editing() override;
1581
1582 void set_image(SvTreeListEntry* pEntry, const Image& rImage, int col);
1583
1584 virtual void set_image(int pos, const OUString& rImage, int col = -1) override;
1585
1586 virtual void set_image(int pos, const css::uno::Reference<css::graphic::XGraphic>& rImage,
1587 int col = -1) override;
1588
1589 virtual void set_image(int pos, VirtualDevice& rImage, int col = -1) override;
1590
1591 virtual void set_image(const weld::TreeIter& rIter, const OUString& rImage,
1592 int col = -1) override;
1593
1594 virtual void set_image(const weld::TreeIter& rIter,
1595 const css::uno::Reference<css::graphic::XGraphic>& rImage,
1596 int col = -1) override;
1597
1598 virtual void set_image(const weld::TreeIter& rIter, VirtualDevice& rImage,
1599 int col = -1) override;
1600
1601 const OUString* getEntryData(int index) const;
1602
1603 virtual OUString get_id(int pos) const override;
1604
1605 void set_id(SvTreeListEntry* pEntry, const OUString& rId);
1606
1607 virtual void set_id(int pos, const OUString& rId) override;
1608
1609 virtual int get_selected_index() const override;
1610
1611 virtual OUString get_selected_text() const override;
1612
1613 virtual OUString get_selected_id() const override;
1614
1615 virtual std::unique_ptr<weld::TreeIter> make_iterator(const weld::TreeIter* pOrig
1616 = nullptr) const override;
1617
1618 virtual void copy_iterator(const weld::TreeIter& rSource, weld::TreeIter& rDest) const override;
1619
1620 virtual bool get_selected(weld::TreeIter* pIter) const override;
1621
1622 virtual bool get_cursor(weld::TreeIter* pIter) const override;
1623
1624 virtual void set_cursor(const weld::TreeIter& rIter) override;
1625
1626 virtual bool get_iter_first(weld::TreeIter& rIter) const override;
1627
1628 virtual bool get_iter_abs_pos(weld::TreeIter& rIter, int nPos) const;
1629
1630 virtual bool iter_next_sibling(weld::TreeIter& rIter) const override;
1631
1632 virtual bool iter_previous_sibling(weld::TreeIter& rIter) const override;
1633
1634 virtual bool iter_next(weld::TreeIter& rIter) const override;
1635
1636 virtual bool iter_previous(weld::TreeIter& rIter) const override;
1637
1638 virtual bool iter_children(weld::TreeIter& rIter) const override;
1639
1640 virtual bool iter_parent(weld::TreeIter& rIter) const override;
1641
1642 virtual void remove(const weld::TreeIter& rIter) override;
1643
1644 virtual void select(const weld::TreeIter& rIter) override;
1645
1646 virtual void scroll_to_row(const weld::TreeIter& rIter) override;
1647
1648 virtual void unselect(const weld::TreeIter& rIter) override;
1649
1650 virtual int get_iter_depth(const weld::TreeIter& rIter) const override;
1651
1652 virtual bool iter_has_child(const weld::TreeIter& rIter) const override;
1653
1654 virtual bool get_row_expanded(const weld::TreeIter& rIter) const override;
1655
1656 virtual bool get_children_on_demand(const weld::TreeIter& rIter) const override;
1657
1658 virtual void set_children_on_demand(const weld::TreeIter& rIter,
1659 bool bChildrenOnDemand) override;
1660
1661 virtual void expand_row(const weld::TreeIter& rIter) override;
1662
1663 virtual void collapse_row(const weld::TreeIter& rIter) override;
1664
1665 virtual OUString get_text(const weld::TreeIter& rIter, int col = -1) const override;
1666
1667 virtual void set_text(const weld::TreeIter& rIter, const OUString& rText,
1668 int col = -1) override;
1669
1670 virtual OUString get_id(const weld::TreeIter& rIter) const override;
1671
1672 virtual void set_id(const weld::TreeIter& rIter, const OUString& rId) override;
1673
1675 sal_uInt8 eDNDConstants) override;
1676
1677 virtual void set_selection_mode(SelectionMode eMode) override;
1678
1679 virtual void all_foreach(const std::function<bool(weld::TreeIter&)>& func) override;
1680
1681 virtual void selected_foreach(const std::function<bool(weld::TreeIter&)>& func) override;
1682
1683 virtual void visible_foreach(const std::function<bool(weld::TreeIter&)>& func) override;
1684
1685 virtual void connect_visible_range_changed(const Link<weld::TreeView&, void>& rLink) override;
1686
1687 virtual void remove_selection() override;
1688
1689 virtual bool is_selected(const weld::TreeIter& rIter) const override;
1690
1691 virtual int get_iter_index_in_parent(const weld::TreeIter& rIter) const override;
1692
1693 virtual int iter_compare(const weld::TreeIter& a, const weld::TreeIter& b) const override;
1694
1695 virtual void move_subtree(weld::TreeIter& rNode, const weld::TreeIter* pNewParent,
1696 int nIndexInNewParent) override;
1697
1698 virtual int count_selected_rows() const override;
1699
1700 virtual int get_height_rows(int nRows) const override;
1701
1702 virtual void make_sorted() override;
1703
1704 virtual void set_sort_func(
1705 const std::function<int(const weld::TreeIter&, const weld::TreeIter&)>& func) override;
1706
1707 virtual void make_unsorted() override;
1708
1709 virtual void set_sort_order(bool bAscending) override;
1710
1711 virtual bool get_sort_order() const override;
1712
1713 virtual void set_sort_indicator(TriState eState, int col) override;
1714
1715 virtual TriState get_sort_indicator(int col) const override;
1716
1717 virtual int get_sort_column() const override;
1718
1719 virtual void set_sort_column(int nColumn) override;
1720
1722
1723 virtual bool get_dest_row_at_pos(const Point& rPos, weld::TreeIter* pResult, bool bDnDMode,
1724 bool bAutoScroll = true) override;
1725
1726 virtual void unset_drag_dest_row() override;
1727
1728 virtual tools::Rectangle get_row_area(const weld::TreeIter& rIter) const override;
1729
1730 virtual TreeView* get_drag_source() const override;
1731
1732 virtual int vadjustment_get_value() const override;
1733
1734 virtual void vadjustment_set_value(int nValue) override;
1735
1736 virtual void set_show_expanders(bool bShow) override;
1737
1738 virtual bool changed_by_hover() const override;
1739
1740 virtual ~SalInstanceTreeView() override;
1741};
1742
1744{
1745private:
1747
1748 DECL_LINK(ExpandedHdl, VclExpander&, void);
1749
1750public:
1751 SalInstanceExpander(VclExpander* pExpander, SalInstanceBuilder* pBuilder, bool bTakeOwnership);
1752
1753 virtual void set_label(const OUString& rText) override;
1754
1755 virtual OUString get_label() const override;
1756
1757 virtual bool get_expanded() const override;
1758
1759 virtual void set_expanded(bool bExpand) override;
1760
1761 virtual bool has_focus() const override;
1762
1763 virtual void grab_focus() override;
1764
1765 virtual ~SalInstanceExpander() override;
1766};
1767
1769{
1770private:
1771 // owner for UserData
1772 std::vector<std::unique_ptr<OUString>> m_aUserData;
1774
1775 DECL_LINK(SelectHdl, SvTreeListBox*, void);
1776 DECL_LINK(DeSelectHdl, SvTreeListBox*, void);
1777 DECL_LINK(DoubleClickHdl, SvTreeListBox*, bool);
1778 DECL_LINK(CommandHdl, const CommandEvent&, bool);
1779 DECL_LINK(TooltipHdl, SvTreeListEntry*, OUString);
1780 DECL_LINK(EntryAccessibleDescriptionHdl, SvTreeListEntry*, OUString);
1781
1782public:
1783 SalInstanceIconView(::IconView* pIconView, SalInstanceBuilder* pBuilder, bool bTakeOwnership);
1784
1785 virtual int get_item_width() const override;
1786 virtual void set_item_width(int width) override;
1787
1788 virtual void freeze() override;
1789
1790 virtual void thaw() override;
1791
1792 virtual void insert(int pos, const OUString* pStr, const OUString* pId,
1793 const OUString* pIconName, weld::TreeIter* pRet) override;
1794
1795 virtual void insert(int pos, const OUString* pStr, const OUString* pId,
1796 const VirtualDevice* pIcon, weld::TreeIter* pRet) override;
1797
1798 virtual void insert_separator(int pos, const OUString* pId) override;
1799
1800 virtual void connect_query_tooltip(const Link<const weld::TreeIter&, OUString>& rLink) override;
1801
1802 virtual OUString get_selected_id() const override;
1803
1804 virtual OUString get_selected_text() const override;
1805
1806 virtual int count_selected_items() const override;
1807
1808 virtual void select(int pos) override;
1809
1810 virtual void unselect(int pos) override;
1811
1812 virtual int n_children() const override;
1813
1814 virtual std::unique_ptr<weld::TreeIter> make_iterator(const weld::TreeIter* pOrig
1815 = nullptr) const override;
1816
1817 virtual bool get_selected(weld::TreeIter* pIter) const override;
1818
1819 virtual bool get_cursor(weld::TreeIter* pIter) const override;
1820
1821 virtual void set_cursor(const weld::TreeIter& rIter) override;
1822
1823 virtual bool get_iter_first(weld::TreeIter& rIter) const override;
1824
1825 virtual void scroll_to_item(const weld::TreeIter& rIter) override;
1826
1827 virtual void selected_foreach(const std::function<bool(weld::TreeIter&)>& func) override;
1828
1829 virtual OUString get_id(const weld::TreeIter& rIter) const override;
1830
1831 virtual void clear() override;
1832
1833 virtual ~SalInstanceIconView() override;
1834};
1835
1837{
1838private:
1840
1841 DECL_LINK(ToggleHdl, ::RadioButton&, void);
1842
1843public:
1845 bool bTakeOwnership);
1846
1847 virtual void set_active(bool active) override;
1848
1849 virtual bool get_active() const override;
1850
1851 virtual void set_image(VirtualDevice* pDevice) override;
1852
1853 virtual void set_image(const css::uno::Reference<css::graphic::XGraphic>& rImage) override;
1854
1855 virtual void set_from_icon_name(const OUString& rIconName) override;
1856
1857 virtual void set_inconsistent(bool /*inconsistent*/) override;
1858
1859 virtual bool get_inconsistent() const override;
1860
1861 virtual void set_label(const OUString& rText) override { SalInstanceButton::set_label(rText); }
1862
1863 virtual OUString get_label() const override { return SalInstanceButton::get_label(); }
1864
1865 virtual void set_label_wrap(bool wrap) override { SalInstanceButton::set_label_wrap(wrap); }
1866
1867 virtual ~SalInstanceRadioButton() override;
1868};
1869
1871{
1872private:
1874
1875public:
1876 SalInstanceFrame(VclFrame* pFrame, SalInstanceBuilder* pBuilder, bool bTakeOwnership);
1877
1878 virtual void set_label(const OUString& rText) override;
1879
1880 virtual OUString get_label() const override;
1881
1882 virtual std::unique_ptr<weld::Label> weld_label_widget() const override;
1883};
1884
1886{
1887protected:
1889 sal_uInt16 m_nLastId;
1890
1891 DECL_LINK(MenuSelectHdl, ::MenuButton*, void);
1892 DECL_LINK(ActivateHdl, ::MenuButton*, void);
1893
1894public:
1895 SalInstanceMenuButton(::MenuButton* pButton, SalInstanceBuilder* pBuilder, bool bTakeOwnership);
1896
1897 virtual void set_active(bool active) override;
1898
1899 virtual bool get_active() const override;
1900
1901 virtual void set_inconsistent(bool /*inconsistent*/) override;
1902
1903 virtual bool get_inconsistent() const override;
1904
1905 virtual void insert_item(int pos, const OUString& rId, const OUString& rStr,
1906 const OUString* pIconName, VirtualDevice* pImageSurface,
1907 TriState eCheckRadioFalse) override;
1908
1909 virtual void insert_separator(int pos, const OUString& rId) override;
1910
1911 virtual void set_item_sensitive(const OString& rIdent, bool bSensitive) override;
1912
1913 virtual void remove_item(const OString& rId) override;
1914
1915 virtual void clear() override;
1916
1917 virtual void set_item_active(const OString& rIdent, bool bActive) override;
1918
1919 virtual void set_item_label(const OString& rIdent, const OUString& rText) override;
1920
1921 virtual OUString get_item_label(const OString& rIdent) const override;
1922
1923 virtual void set_item_visible(const OString& rIdent, bool bShow) override;
1924
1925 virtual void set_popover(weld::Widget* pPopover) override;
1926
1927 virtual ~SalInstanceMenuButton() override;
1928};
1929
1931{
1932private:
1934
1935 DECL_LINK(PopupModeEndHdl, FloatingWindow*, void);
1936
1937 void ImplPopDown();
1938
1939public:
1940 SalInstancePopover(DockingWindow* pPopover, SalInstanceBuilder* pBuilder, bool bTakeOwnership);
1941
1943
1944 virtual void popup_at_rect(weld::Widget* pParent, const tools::Rectangle& rRect,
1945 weld::Placement ePlace = weld::Placement::Under) override;
1946
1947 virtual void popdown() override;
1948
1949 virtual void resize_to_request() override;
1950};
1951
1952class SalInstanceBox : public SalInstanceContainer, public virtual weld::Box
1953{
1954private:
1956
1957public:
1958 SalInstanceBox(VclBox* pContainer, SalInstanceBuilder* pBuilder, bool bTakeOwnership);
1959 virtual void reorder_child(weld::Widget* pWidget, int nNewPosition) override;
1960 virtual void sort_native_button_order() override;
1961};
1962
1963class SalInstanceImage : public SalInstanceWidget, public virtual weld::Image
1964{
1965private:
1967
1968public:
1969 SalInstanceImage(FixedImage* pImage, SalInstanceBuilder* pBuilder, bool bTakeOwnership);
1970
1971 virtual void set_from_icon_name(const OUString& rIconName) override;
1972
1973 virtual void set_image(VirtualDevice* pDevice) override;
1974
1975 virtual void set_image(const css::uno::Reference<css::graphic::XGraphic>& rImage) override;
1976};
1977
1978/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
static OutputDevice * GetDefaultDevice()
Get the default "device" (in this case the default window).
Definition: svapp.cxx:1166
static const AllSettings & GetSettings()
Gets the application's settings.
Definition: svapp.cxx:761
A widget used to choose from a list of items and which has an entry.
Definition: combobox.hxx:39
Definition: ctrl.hxx:82
Definition: edit.hxx:56
Definition: image.hxx:40
A widget used to choose from a list of items and which has no entry.
Definition: lstbox.hxx:83
Definition: menu.hxx:116
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
Definition: outdev.hxx:170
float GetDPIScaleFactor() const
Definition: outdev.hxx:396
virtual void reorder_child(weld::Widget *pWidget, int nNewPosition) override
SalInstanceBox(VclBox *pContainer, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
VclPtr< VclBox > m_xBox
virtual void sort_native_button_order() override
virtual std::unique_ptr< weld::Frame > weld_frame(const OString &id) override
virtual std::unique_ptr< weld::Scrollbar > weld_scrollbar(const OString &id) override
virtual std::unique_ptr< weld::Box > weld_box(const OString &id) override
virtual std::unique_ptr< weld::MessageDialog > weld_message_dialog(const OString &id) override
virtual std::unique_ptr< weld::TextView > weld_text_view(const OString &id) override
virtual std::unique_ptr< weld::Label > weld_label(const OString &id) override
virtual std::unique_ptr< weld::LinkButton > weld_link_button(const OString &id) override
virtual std::unique_ptr< weld::Expander > weld_expander(const OString &id) override
virtual std::unique_ptr< weld::FormattedSpinButton > weld_formatted_spin_button(const OString &id) override
virtual std::unique_ptr< weld::ToggleButton > weld_toggle_button(const OString &id) override
virtual std::unique_ptr< weld::MenuToggleButton > weld_menu_toggle_button(const OString &id) override
virtual std::unique_ptr< weld::Calendar > weld_calendar(const OString &id) override
virtual std::unique_ptr< weld::ProgressBar > weld_progress_bar(const OString &id) override
virtual std::unique_ptr< weld::Menu > weld_menu(const OString &id) override
SalInstanceBuilder(vcl::Window *pParent, const OUString &rUIRoot, const OUString &rUIFile, const css::uno::Reference< css::frame::XFrame > &rFrame=css::uno::Reference< css::frame::XFrame >())
virtual std::unique_ptr< weld::DrawingArea > weld_drawing_area(const OString &id, const a11yref &rA11yImpl=nullptr, FactoryFunction pUITestFactoryFunction=nullptr, void *pUserData=nullptr) override
virtual std::unique_ptr< weld::Notebook > weld_notebook(const OString &id) override
virtual std::unique_ptr< weld::Container > weld_container(const OString &id) override
virtual std::unique_ptr< weld::Spinner > weld_spinner(const OString &id) override
virtual std::unique_ptr< weld::IconView > weld_icon_view(const OString &id) override
virtual ~SalInstanceBuilder() override
virtual std::unique_ptr< weld::Widget > weld_widget(const OString &id) override
virtual std::unique_ptr< weld::MenuButton > weld_menu_button(const OString &id) override
VclPtr< vcl::Window > m_aOwnedToplevel
Definition: salvtables.hxx:37
virtual std::unique_ptr< weld::Scale > weld_scale(const OString &id) override
virtual std::unique_ptr< weld::Entry > weld_entry(const OString &id) override
virtual std::unique_ptr< weld::Assistant > weld_assistant(const OString &id) override
virtual std::unique_ptr< weld::Button > weld_button(const OString &id) override
OString get_current_page_help_id() const
virtual std::unique_ptr< weld::MetricSpinButton > weld_metric_spin_button(const OString &id, FieldUnit eUnit) override
virtual std::unique_ptr< weld::ComboBox > weld_combo_box(const OString &id) override
virtual std::unique_ptr< weld::TreeView > weld_tree_view(const OString &id) override
virtual std::unique_ptr< weld::Paned > weld_paned(const OString &id) override
virtual std::unique_ptr< weld::Dialog > weld_dialog(const OString &id) override
virtual std::unique_ptr< weld::RadioButton > weld_radio_button(const OString &id) override
virtual std::unique_ptr< weld::Image > weld_image(const OString &id) override
std::unique_ptr< VclBuilder > m_xBuilder
Definition: salvtables.hxx:36
virtual std::unique_ptr< weld::Popover > weld_popover(const OString &id) override
virtual std::unique_ptr< weld::CheckButton > weld_check_button(const OString &id) override
virtual std::unique_ptr< weld::ScrolledWindow > weld_scrolled_window(const OString &id, bool bUserManagedScrolling=false) override
virtual std::unique_ptr< weld::SizeGroup > create_size_group() override
virtual std::unique_ptr< weld::Toolbar > weld_toolbar(const OString &id) override
virtual std::unique_ptr< weld::EntryTreeView > weld_entry_tree_view(const OString &containerid, const OString &entryid, const OString &treeviewid) override
virtual std::unique_ptr< weld::Window > create_screenshot_window() override
virtual std::unique_ptr< weld::SpinButton > weld_spin_button(const OString &id) override
virtual void set_custom_button(VirtualDevice *pDevice) override
virtual void set_label(const OUString &rText) override
virtual void set_image(VirtualDevice *pDevice) override
virtual OUString get_label() const override
virtual void set_font(const vcl::Font &rFont) override
virtual ~SalInstanceButton() override
virtual void set_from_icon_name(const OUString &rIconName) override
SalInstanceButton(::Button *pButton, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
VclPtr<::Button > m_xButton
void set_label_wrap(bool bWrap)
Link<::Button *, void > const m_aOldClickHdl
DECL_LINK(ClickHdl, ::Button *, void)
virtual void set_inconsistent(bool inconsistent) override
virtual bool get_active() const override
DECL_LINK(ToggleHdl, CheckBox &, void)
virtual void set_label(const OUString &rText) override
virtual void set_active(bool active) override
SalInstanceCheckButton(CheckBox *pButton, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual OUString get_label() const override
virtual ~SalInstanceCheckButton() override
virtual bool get_inconsistent() const override
virtual void set_label_wrap(bool wrap) override
VclPtr< CheckBox > m_xCheckButton
virtual void insert_separator(int pos, const OUString &) override
virtual void set_entry_placeholder_text(const OUString &rText) override
virtual bool has_entry() const override
virtual void set_mru_entries(const OUString &rEntries) override
DECL_LINK(UserDrawHdl, UserDrawEvent *, void)
virtual bool changed_by_direct_pick() const override
virtual void set_entry_completion(bool bEnable, bool bCaseSensitive=false) override
virtual void set_entry_editable(bool bEditable) override
virtual void cut_entry_clipboard() override
virtual void set_entry_width_chars(int nChars) override
virtual void insert(int pos, const OUString &rStr, const OUString *pId, const OUString *pIconName, VirtualDevice *pImageSurface) override
virtual void set_entry_message_type(weld::EntryMessageType eType) override
virtual void call_attention_to() override
virtual void set_entry_max_length(int nChars) override
virtual void copy_entry_clipboard() override
virtual OUString get_mru_entries() const override
virtual vcl::Font get_entry_font() override
SalInstanceComboBoxWithEdit(::ComboBox *pComboBox, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
WeldTextFilter m_aTextFilter
Definition: salvtables.hxx:955
virtual ~SalInstanceComboBoxWithEdit() override
virtual void HandleEventListener(VclWindowEvent &rEvent) override
virtual bool get_entry_selection_bounds(int &rStartPos, int &rEndPos) override
DECL_LINK(SelectHdl, ::ComboBox &, void)
virtual void set_custom_renderer(bool bOn) override
virtual void paste_entry_clipboard() override
virtual void remove(int pos) override
virtual OUString get_active_text() const override
virtual void set_entry_text(const OUString &rText) override
DECL_LINK(EntryActivateHdl, Edit &, bool)
virtual int get_max_mru_count() const override
virtual void set_font(const vcl::Font &rFont) override
virtual void set_entry_font(const vcl::Font &rFont) override
virtual void select_entry_region(int nStartPos, int nEndPos) override
virtual void set_max_mru_count(int nCount) override
DECL_LINK(ChangeHdl, Edit &, void)
virtual void copy_entry_clipboard() override
virtual void set_max_mru_count(int) override
virtual void select_entry_region(int, int) override
virtual vcl::Font get_entry_font() override
virtual void remove(int pos) override
virtual void set_mru_entries(const OUString &) override
virtual void set_entry_completion(bool, bool bCaseSensitive=false) override
virtual void insert_separator(int pos, const OUString &) override
virtual void set_entry_placeholder_text(const OUString &) override
virtual bool changed_by_direct_pick() const override
virtual int get_max_mru_count() const override
virtual void set_entry_editable(bool bEditable) override
virtual void insert(int pos, const OUString &rStr, const OUString *pId, const OUString *pIconName, VirtualDevice *pImageSurface) override
virtual void set_entry_message_type(weld::EntryMessageType) override
virtual OUString get_active_text() const override
virtual void paste_entry_clipboard() override
virtual void set_entry_text(const OUString &) override
virtual void set_entry_font(const vcl::Font &) override
SalInstanceComboBoxWithoutEdit(ListBox *pListBox, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual void set_font(const vcl::Font &rFont) override
virtual OUString get_mru_entries() const override
virtual bool get_entry_selection_bounds(int &, int &) override
virtual ~SalInstanceComboBoxWithoutEdit() override
DECL_LINK(SelectHdl, ListBox &, void)
virtual void HandleEventListener(VclWindowEvent &rEvent) override
virtual void set_custom_renderer(bool bOn) override
virtual void cut_entry_clipboard() override
virtual void set_entry_width_chars(int) override
virtual void set_entry_max_length(int) override
virtual bool has_entry() const override
virtual void insert_vector(const std::vector< weld::ComboBoxEntry > &rItems, bool bKeepExisting) override
Definition: salvtables.hxx:765
std::vector< std::shared_ptr< OUString > > m_aUserData
Definition: salvtables.hxx:677
void CallHandleEventListener(VclWindowEvent &rEvent)
Definition: salvtables.hxx:869
virtual void set_id(int row, const OUString &rId) override
Definition: salvtables.hxx:759
virtual void make_sorted() override
Definition: salvtables.hxx:808
int get_menu_button_width() const override
Definition: salvtables.hxx:863
virtual OUString get_text(int pos) const override
Definition: salvtables.hxx:749
virtual void set_active(int pos) override
Definition: salvtables.hxx:735
virtual int get_count() const override
Definition: salvtables.hxx:779
virtual int get_active() const override
Definition: salvtables.hxx:689
virtual bool get_popup_shown() const override
Definition: salvtables.hxx:813
OUString m_sMenuButtonRow
Definition: salvtables.hxx:680
virtual int find_text(const OUString &rStr) const override
Definition: salvtables.hxx:781
VclPtr< vcl_type > m_xComboBox
Definition: salvtables.hxx:678
void call_signal_custom_render(UserDrawEvent *pEvent)
Definition: salvtables.hxx:821
virtual void clear() override
Definition: salvtables.hxx:802
virtual void set_item_menu(const OString &rIdent, weld::Menu *pMenu) override
Definition: salvtables.hxx:848
virtual OUString get_id(int pos) const override
Definition: salvtables.hxx:751
virtual OUString get_active_id() const override
Definition: salvtables.hxx:710
const OUString * getEntryData(int index) const
Definition: salvtables.hxx:697
SalInstanceComboBox(vcl_type *pComboBox, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
Definition: salvtables.hxx:683
VclPtr< VirtualDevice > create_render_virtual_device() const override
Definition: salvtables.hxx:841
virtual int find_id(const OUString &rStr) const override
Definition: salvtables.hxx:789
virtual void set_active_id(const OUString &rStr) override
Definition: salvtables.hxx:723
virtual bool has_focus() const override
Definition: salvtables.hxx:704
ScopedVclPtr< MenuButton > m_xMenuButton
Definition: salvtables.hxx:679
virtual void connect_popup_toggled(const Link< ComboBox &, void > &rLink) override
Definition: salvtables.hxx:815
virtual void connect_container_focus_changed(const Link< Container &, void > &rLink) override
virtual void child_grab_focus() override
virtual void HandleEventListener(VclWindowEvent &rEvent) override
SalInstanceContainer(vcl::Window *pContainer, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual void move(weld::Widget *pWidget, weld::Container *pNewParent) override
VclPtr< vcl::Window > m_xContainer
Definition: salvtables.hxx:420
virtual css::uno::Reference< css::awt::XWindow > CreateChildFrame() override
virtual bool runAsync(std::shared_ptr< weld::DialogController > aOwner, const std::function< void(sal_Int32)> &rEndDialogFn) override
virtual void SetInstallLOKNotifierHdl(const Link< void *, vcl::ILibreOfficeKitNotifier * > &rLink) override
tools::Long m_nOldEditWidthReq
Definition: salvtables.hxx:505
virtual void collapse(weld::Widget *pEdit, weld::Widget *pButton) override
virtual void set_default_response(int nResponse) override
DECL_LINK(PopupScreenShotMenuHdl, const CommandEvent &, bool)
virtual bool get_modal() const override
virtual weld::Button * weld_widget_for_response(int nResponse) override
virtual void response(int nResponse) override
SalInstanceDialog(::Dialog *pDialog, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
VclPtr<::Dialog > m_xDialog
Definition: salvtables.hxx:500
VclPtr< vcl::Window > m_xRefEdit
Definition: salvtables.hxx:503
virtual weld::Container * weld_content_area() override
virtual void set_modal(bool bModal) override
sal_Int32 m_nOldBorderWidth
Definition: salvtables.hxx:506
virtual void add_button(const OUString &rText, int nResponse, const OString &rHelpId=OString()) override
virtual void undo_collapse() override
virtual int run() override
std::vector< VclPtr< vcl::Window > > m_aHiddenWidgets
Definition: salvtables.hxx:504
SalInstanceDrawingArea(VclDrawingArea *pDrawingArea, SalInstanceBuilder *pBuilder, const a11yref &rAlly, FactoryFunction pUITestFactoryFunction, void *pUserData, bool bTakeOwnership)
DECL_LINK(KeyPressHdl, const KeyEvent &, bool)
DECL_LINK(StyleUpdatedHdl, VclDrawingArea &, void)
virtual void HandleEventListener(VclWindowEvent &rEvent) override
virtual bool HandleKeyEventListener(VclWindowEvent &) override
std::pair< vcl::RenderContext &, const tools::Rectangle & > target_and_area
virtual a11yrelationset get_accessible_relation_set() override
virtual void enable_drag_source(rtl::Reference< TransferDataContainer > &rHelper, sal_uInt8 eDNDConstants) override
virtual ~SalInstanceDrawingArea() override
virtual void click(const Point &rPos) override
virtual OutputDevice & get_ref_device() override
DECL_LINK(MousePressHdl, const MouseEvent &, bool)
DECL_LINK(MouseMoveHdl, const MouseEvent &, bool)
DECL_LINK(CommandHdl, const CommandEvent &, bool)
virtual void connect_key_release(const Link< const KeyEvent &, bool > &rLink) override
DECL_LINK(PaintHdl, target_and_area, void)
DECL_LINK(DeleteSurroundingHdl, const Selection &, bool)
virtual Point get_pointer_position() const override
virtual void HandleMouseEventListener(VclWindowEvent &rEvent) override
DECL_LINK(MouseReleaseHdl, const MouseEvent &, bool)
virtual void queue_draw_area(int x, int y, int width, int height) override
virtual void connect_size_allocate(const Link< const Size &, void > &rLink) override
virtual Point get_accessible_location_on_screen() override
DECL_LINK(StartDragHdl, VclDrawingArea *, bool)
virtual void queue_draw() override
virtual void set_input_context(const InputContext &rInputContext) override
DECL_LINK(QueryTooltipHdl, tools::Rectangle &, OUString)
DECL_LINK(KeyReleaseHdl, const KeyEvent &, bool)
virtual void im_context_set_cursor_location(const tools::Rectangle &rCursorRect, int nExtTextInputWidth) override
virtual void set_cursor(PointerStyle ePointerStyle) override
VclPtr< VclDrawingArea > m_xDrawingArea
DECL_LINK(ResizeHdl, const Size &, void)
DECL_LINK(GetSurroundingHdl, OUString &, int)
virtual void connect_key_press(const Link< const KeyEvent &, bool > &rLink) override
virtual a11yref get_accessible_parent() override
virtual void set_editable(bool bEditable) override
virtual void set_font(const vcl::Font &rFont) override
virtual void connect_cursor_position(const Link< Entry &, void > &rLink) override
WeldTextFilter m_aTextFilter
Definition: salvtables.hxx:564
SalInstanceEntry(::Edit *pEntry, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
bool get_selection_bounds(int &rStartPos, int &rEndPos) override
virtual bool get_overwrite_mode() const override
void fire_signal_changed()
virtual bool get_editable() const override
virtual void cut_clipboard() override
virtual void copy_clipboard() override
virtual void set_alignment(TxtAlign eXAlign) override
VclPtr<::Edit > m_xEntry
Definition: salvtables.hxx:558
virtual void paste_clipboard() override
DECL_LINK(ChangeHdl, Edit &, void)
virtual OUString get_text() const override
DECL_LINK(ActivateHdl, Edit &, bool)
virtual int get_width_chars() const override
virtual void set_position(int nCursorPos) override
virtual void set_placeholder_text(const OUString &rText) override
virtual void set_text(const OUString &rText) override
virtual ~SalInstanceEntry() override
virtual int get_position() const override
virtual void set_max_length(int nChars) override
virtual void set_width_chars(int nChars) override
virtual void replace_selection(const OUString &rText) override
virtual void select_region(int nStartPos, int nEndPos) override
virtual void set_message_type(weld::EntryMessageType eType) override
virtual void set_font_color(const Color &rColor) override
DECL_LINK(CursorListener, VclWindowEvent &, void)
virtual void set_overwrite_mode(bool bOn) override
virtual void grab_focus() override
SalInstanceExpander(VclExpander *pExpander, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual void set_expanded(bool bExpand) override
virtual OUString get_label() const override
virtual bool get_expanded() const override
VclPtr< VclExpander > m_xExpander
virtual ~SalInstanceExpander() override
DECL_LINK(ExpandedHdl, VclExpander &, void)
virtual void set_label(const OUString &rText) override
virtual bool has_focus() const override
virtual void set_label(const OUString &rText) override
virtual std::unique_ptr< weld::Label > weld_label_widget() const override
SalInstanceFrame(VclFrame *pFrame, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual OUString get_label() const override
VclPtr< VclFrame > m_xFrame
virtual int count_selected_items() const override
virtual OUString get_selected_text() const override
virtual void unselect(int pos) override
virtual void selected_foreach(const std::function< bool(weld::TreeIter &)> &func) override
VclPtr<::IconView > m_xIconView
virtual int n_children() const override
virtual OUString get_selected_id() const override
virtual OUString get_id(const weld::TreeIter &rIter) const override
virtual void select(int pos) override
virtual void set_cursor(const weld::TreeIter &rIter) override
DECL_LINK(TooltipHdl, SvTreeListEntry *, OUString)
DECL_LINK(CommandHdl, const CommandEvent &, bool)
virtual bool get_iter_first(weld::TreeIter &rIter) const override
DECL_LINK(EntryAccessibleDescriptionHdl, SvTreeListEntry *, OUString)
virtual ~SalInstanceIconView() override
std::vector< std::unique_ptr< OUString > > m_aUserData
DECL_LINK(DeSelectHdl, SvTreeListBox *, void)
virtual void set_item_width(int width) override
virtual void clear() override
DECL_LINK(SelectHdl, SvTreeListBox *, void)
virtual std::unique_ptr< weld::TreeIter > make_iterator(const weld::TreeIter *pOrig=nullptr) const override
virtual void freeze() override
virtual void thaw() override
DECL_LINK(DoubleClickHdl, SvTreeListBox *, bool)
virtual int get_item_width() const override
virtual void scroll_to_item(const weld::TreeIter &rIter) override
virtual void connect_query_tooltip(const Link< const weld::TreeIter &, OUString > &rLink) override
virtual void insert_separator(int pos, const OUString *pId) override
virtual bool get_selected(weld::TreeIter *pIter) const override
SalInstanceIconView(::IconView *pIconView, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual bool get_cursor(weld::TreeIter *pIter) const override
virtual void insert(int pos, const OUString *pStr, const OUString *pId, const OUString *pIconName, weld::TreeIter *pRet) override
VclPtr< FixedImage > m_xImage
virtual void set_from_icon_name(const OUString &rIconName) override
SalInstanceImage(FixedImage *pImage, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual void set_image(VirtualDevice *pDevice) override
VclPtr< Control > m_xLabel
Definition: salvtables.hxx:400
virtual void set_mnemonic_widget(Widget *pTarget) override
SalInstanceLabel(Control *pLabel, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual void set_font_color(const Color &rColor) override
virtual void set_label_type(weld::LabelType eType) override
virtual void set_font(const vcl::Font &rFont) override
virtual void set_label(const OUString &rText) override
virtual OUString get_label() const override
virtual bool get_inconsistent() const override
virtual OUString get_item_label(const OString &rIdent) const override
virtual bool get_active() const override
virtual void clear() override
virtual void set_popover(weld::Widget *pPopover) override
SalInstanceMenuButton(::MenuButton *pButton, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual ~SalInstanceMenuButton() override
virtual void set_item_active(const OString &rIdent, bool bActive) override
virtual void set_active(bool active) override
virtual void set_item_label(const OString &rIdent, const OUString &rText) override
virtual void remove_item(const OString &rId) override
DECL_LINK(ActivateHdl, ::MenuButton *, void)
virtual void set_item_visible(const OString &rIdent, bool bShow) override
DECL_LINK(MenuSelectHdl, ::MenuButton *, void)
virtual void insert_item(int pos, const OUString &rId, const OUString &rStr, const OUString *pIconName, VirtualDevice *pImageSurface, TriState eCheckRadioFalse) override
virtual void set_inconsistent(bool) override
virtual void set_item_sensitive(const OString &rIdent, bool bSensitive) override
VclPtr<::MenuButton > m_xMenuButton
virtual void insert_separator(int pos, const OUString &rId) override
sal_uInt16 m_nLastId
Definition: salvtables.hxx:144
DECL_DLLPRIVATE_LINK(SelectMenuHdl, ::Menu *, bool)
VclPtr< PopupMenu > m_xMenu
Definition: salvtables.hxx:141
PopupMenu * getMenu() const
Definition: salvtables.cxx:959
virtual OUString get_secondary_text() const override
virtual weld::Container * weld_message_area() override
virtual void set_secondary_text(const OUString &rText) override
virtual OUString get_primary_text() const override
virtual void set_primary_text(const OUString &rText) override
VclPtr<::MessageDialog > m_xMessageDialog
SalInstanceMessageDialog(::MessageDialog *pDialog, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual void set_show_tabs(bool bShow) override
virtual void insert_page(const OString &rIdent, const OUString &rLabel, int nPos) override
std::vector< std::shared_ptr< SalInstanceContainer > > m_aPages
virtual void set_tab_label_text(const OString &rIdent, const OUString &rText) override
virtual void set_current_page(int nPage) override
virtual ~SalInstanceNotebook() override
virtual OString get_page_ident(int nPage) const override
VclPtr< TabControl > m_xNotebook
virtual OUString get_tab_label_text(const OString &rIdent) const override
virtual int get_current_page() const override
virtual void remove_page(const OString &rIdent) override
virtual weld::Container * get_page(const OString &rIdent) const override
virtual OString get_current_page_ident() const override
DECL_LINK(ActivatePageHdl, TabControl *, void)
DECL_LINK(DeactivatePageHdl, TabControl *, bool)
std::map< OString, std::pair< VclPtr< TabPage >, VclPtr< VclGrid > > > m_aAddedPages
virtual int get_n_pages() const override
virtual int get_page_index(const OString &rIdent) const override
SalInstanceNotebook(TabControl *pNotebook, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
SalInstancePopover(DockingWindow *pPopover, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual void popup_at_rect(weld::Widget *pParent, const tools::Rectangle &rRect, weld::Placement ePlace=weld::Placement::Under) override
virtual void resize_to_request() override
virtual void popdown() override
DECL_LINK(PopupModeEndHdl, FloatingWindow *, void)
VclPtr< DockingWindow > m_xPopover
VclPtr<::RadioButton > m_xRadioButton
virtual void set_label(const OUString &rText) override
virtual void set_active(bool active) override
virtual void set_inconsistent(bool) override
virtual OUString get_label() const override
DECL_LINK(ToggleHdl, ::RadioButton &, void)
virtual void set_from_icon_name(const OUString &rIconName) override
virtual bool get_inconsistent() const override
virtual void set_label_wrap(bool wrap) override
virtual void set_image(VirtualDevice *pDevice) override
virtual bool get_active() const override
virtual ~SalInstanceRadioButton() override
SalInstanceRadioButton(::RadioButton *pButton, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
DECL_LINK(UpDownHdl, SpinField &, void)
virtual void set_increments(int step, int) override
SalInstanceSpinButton(FormattedField *pButton, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
Formatter & m_rFormatter
Definition: salvtables.hxx:627
DECL_LINK(ActivateHdl, Edit &, bool)
virtual bool has_focus() const override
virtual unsigned int get_digits() const override
DECL_LINK(LoseFocusHdl, Control &, void)
virtual sal_Int64 get_value() const override
virtual void get_range(sal_Int64 &min, sal_Int64 &max) const override
VclPtr< FormattedField > m_xButton
Definition: salvtables.hxx:624
sal_Int64 fromField(double fValue) const
DECL_LINK(OutputHdl, LinkParamNone *, bool)
virtual void get_increments(int &step, int &page) const override
virtual void set_digits(unsigned int digits) override
virtual void set_range(sal_Int64 min, sal_Int64 max) override
virtual void set_value(sal_Int64 value) override
DECL_LINK(InputHdl, sal_Int64 *, TriState)
virtual ~SalInstanceSpinButton() override
double toField(sal_Int64 nValue) const
DECL_LINK(VscrollHdl, ScrollBar *, void)
virtual OUString get_text() const override
virtual void set_font_color(const Color &rColor) override
virtual bool can_move_cursor_with_up() const override
virtual int vadjustment_get_upper() const override
VclPtr< VclMultiLineEdit > m_xTextView
virtual void set_alignment(TxtAlign eXAlign) override
virtual void select_region(int nStartPos, int nEndPos) override
virtual bool has_focus() const override
virtual ~SalInstanceTextView() override
virtual void cut_clipboard() override
SalInstanceTextView(VclMultiLineEdit *pTextView, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual void copy_clipboard() override
virtual int vadjustment_get_page_size() const override
Link< ScrollBar *, void > m_aOrigVScrollHdl
virtual void set_text(const OUString &rText) override
bool get_selection_bounds(int &rStartPos, int &rEndPos) override
DECL_LINK(CursorListener, VclWindowEvent &, void)
virtual void set_max_length(int nChars) override
virtual int vadjustment_get_value() const override
virtual void paste_clipboard() override
virtual void set_monospace(bool bMonospace) override
virtual void set_font(const vcl::Font &rFont) override
virtual int vadjustment_get_lower() const override
virtual void vadjustment_set_value(int value) override
virtual void set_editable(bool bEditable) override
virtual void connect_cursor_position(const Link< TextView &, void > &rLink) override
virtual bool get_editable() const override
DECL_LINK(ChangeHdl, Edit &, void)
virtual bool can_move_cursor_with_down() const override
virtual void replace_selection(const OUString &rText) override
VclPtr< ToolBox > m_xToolBox
virtual OString get_item_ident(int nIndex) const override
DECL_LINK(MenuToggleListener, VclWindowEvent &, void)
void set_menu_item_active(const OString &rIdent, bool bActive) override
virtual void set_item_help_id(const OString &rIdent, const OString &rHelpId) override
virtual OUString get_item_label(const OString &rIdent) const override
virtual void set_icon_size(vcl::ImageType eType) override
virtual void set_item_visible(const OString &rIdent, bool bVisible) override
virtual int get_drop_index(const Point &rPoint) const override
SalInstanceToolbar(ToolBox *pToolBox, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
Definition: salvtables.cxx:981
virtual void set_item_ident(int nIndex, const OString &rIdent) override
virtual void insert_item(int pos, const OUString &rId) override
virtual void set_item_label(int nIndex, const OUString &rLabel) override
virtual void set_item_menu(const OString &rIdent, weld::Menu *pMenu) override
virtual void insert_separator(int pos, const OUString &) override
virtual bool get_item_visible(const OString &rIdent) const override
virtual bool get_item_sensitive(const OString &rIdent) const override
Definition: salvtables.cxx:995
virtual void set_item_image(const OString &rIdent, const css::uno::Reference< css::graphic::XGraphic > &rIcon) override
bool get_menu_item_active(const OString &rIdent) const override
virtual void set_item_popover(const OString &rIdent, weld::Widget *pPopover) override
virtual void set_item_sensitive(const OString &rIdent, bool bSensitive) override
Definition: salvtables.cxx:990
DECL_LINK(ClickHdl, ToolBox *, void)
virtual void set_item_image_mirrored(const OString &rIdent, bool bMirrored) override
std::map< ToolBoxItemId, VclPtr< PopupMenu > > m_aMenus
virtual ~SalInstanceToolbar() override
virtual int get_n_items() const override
virtual void set_item_icon_name(const OString &rIdent, const OUString &rIconName) override
virtual vcl::ImageType get_icon_size() const override
virtual void set_item_active(const OString &rIdent, bool bActive) override
virtual bool get_item_active(const OString &rIdent) const override
virtual OUString get_item_tooltip_text(const OString &rIdent) const override
DECL_LINK(DropdownClick, ToolBox *, void)
virtual void set_item_tooltip_text(int nIndex, const OUString &rTip) override
virtual sal_uInt16 get_modifier_state() const override
std::map< ToolBoxItemId, VclPtr< vcl::Window > > m_aFloats
virtual void queue_draw() override
virtual void connect_visible_range_changed(const Link< weld::TreeView &, void > &rLink) override
virtual void copy_iterator(const weld::TreeIter &rSource, weld::TreeIter &rDest) const override
DECL_LINK(EditedEntryHdl, IterString, bool)
DECL_LINK(CustomMeasureHdl, svtree_measure_args, Size)
virtual void unset_drag_dest_row() override
SvTabListBox & getTreeView()
virtual void remove_selection() override
virtual void move_subtree(weld::TreeIter &rNode, const weld::TreeIter *pNewParent, int nIndexInNewParent) override
DECL_LINK(VisibleRangeChangedHdl, SvTreeListBox *, void)
virtual void visible_foreach(const std::function< bool(weld::TreeIter &)> &func) override
DECL_LINK(PopupMenuHdl, const CommandEvent &, bool)
void set_image(SvTreeListEntry *pEntry, const Image &rImage, int col)
virtual void set_sort_column(int nColumn) override
DECL_LINK(ToggleHdl, SvLBoxButtonData *, void)
virtual int find_id(const OUString &rId) const override
void set_toggle(SvTreeListEntry *pEntry, TriState eState, int col)
void InvalidateModelEntry(SvTreeListEntry *pEntry)
virtual void show() override
virtual void columns_autosize() override
virtual void set_children_on_demand(const weld::TreeIter &rIter, bool bChildrenOnDemand) override
virtual void end_editing() override
virtual void enable_toggle_buttons(weld::ColumnToggleType eType) override
virtual void remove(int pos) override
virtual void scroll_to_row(int pos) override
virtual std::unique_ptr< weld::TreeIter > make_iterator(const weld::TreeIter *pOrig=nullptr) const override
SalInstanceTreeView(SvTabListBox *pTreeView, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
void AddStringItem(SvTreeListEntry *pEntry, const OUString &rStr, int nCol)
virtual int get_height_rows(int nRows) const override
virtual OUString get_column_title(int nColumn) const override
virtual bool get_children_on_demand(const weld::TreeIter &rIter) const override
virtual int n_children() const override
virtual bool iter_has_child(const weld::TreeIter &rIter) const override
virtual TreeView * get_drag_source() const override
void set_header_item_width(const std::vector< int > &rWidths)
virtual bool get_iter_abs_pos(weld::TreeIter &rIter, int nPos) const
DECL_LINK(StartDragHdl, SvTreeListBox *, bool)
static TriState do_get_toggle(SvTreeListEntry *pEntry, int col)
virtual bool is_selected(int pos) const override
DECL_LINK(DeSelectHdl, SvTreeListBox *, void)
virtual void start_editing(const weld::TreeIter &rIter) override
void do_set_toggle(SvTreeListEntry *pEntry, TriState eState, int col)
SvLBoxButtonData m_aCheckButtonData
void set_text_align(SvTreeListEntry *pEntry, double fAlign, int col)
virtual OUString get_selected_id() const override
void set_id(SvTreeListEntry *pEntry, const OUString &rId)
virtual void insert_separator(int pos, const OUString &) override
virtual void set_column_title(int nColumn, const OUString &rTitle) override
virtual void freeze() override
virtual bool iter_previous(weld::TreeIter &rIter) const override
virtual void set_clicks_to_toggle(int nToggleBehavior) override
virtual int get_selected_index() const override
virtual bool iter_previous_sibling(weld::TreeIter &rIter) const override
virtual bool changed_by_hover() const override
TriState get_toggle(SvTreeListEntry *pEntry, int col) const
DECL_LINK(HeaderBarClickedHdl, HeaderBar *, void)
virtual void swap(int pos1, int pos2) override
virtual bool iter_next_sibling(weld::TreeIter &rIter) const override
virtual bool get_selected(weld::TreeIter *pIter) const override
virtual void make_unsorted() override
virtual void connect_query_tooltip(const Link< const weld::TreeIter &, OUString > &rLink) override
virtual int vadjustment_get_value() const override
virtual void all_foreach(const std::function< bool(weld::TreeIter &)> &func) override
DECL_LINK(TooltipHdl, SvTreeListEntry *, OUString)
virtual void set_selection_mode(SelectionMode eMode) override
DECL_LINK(DoubleClickHdl, SvTreeListBox *, bool)
SvLBoxButtonData m_aRadioButtonData
virtual int find_text(const OUString &rText) const override
virtual void unselect(int pos) override
virtual int iter_compare(const weld::TreeIter &a, const weld::TreeIter &b) const override
DECL_LINK(CustomRenderHdl, svtree_render_args, void)
SvTreeListEntry * GetPlaceHolderChild(SvTreeListEntry *pEntry) const
VclPtr< SvTabListBox > m_xTreeView
virtual int get_sort_column() const override
void set_text(SvTreeListEntry *pEntry, const OUString &rText, int col)
virtual void set_sort_order(bool bAscending) override
virtual void select(int pos) override
DECL_LINK(ModelChangedHdl, SvTreeListBox *, void)
virtual void enable_drag_source(rtl::Reference< TransferDataContainer > &rHelper, sal_uInt8 eDNDConstants) override
virtual ~SalInstanceTreeView() override
DECL_LINK(ExpandingHdl, SvTreeListBox *, bool)
virtual bool iter_children(weld::TreeIter &rIter) const override
static bool do_get_sensitive(SvTreeListEntry *pEntry, int col)
static void set_font_color(SvTreeListEntry *pEntry, const Color &rColor)
int to_external_model(int col) const
virtual int get_iter_index_in_parent(const weld::TreeIter &rIter) const override
virtual int count_selected_rows() const override
virtual int get_column_width(int nColumn) const override
o3tl::sorted_vector< SvTreeListEntry * > m_aExpandingPlaceHolderParents
virtual bool iter_next(weld::TreeIter &rIter) const override
virtual void set_cursor(int pos) override
virtual OUString get_selected_text() const override
std::vector< std::unique_ptr< OUString > > m_aUserData
virtual void set_sort_indicator(TriState eState, int col) override
OUString get_text(SvTreeListEntry *pEntry, int col) const
virtual void set_column_custom_renderer(int nColumn, bool bEnable) override
DECL_LINK(EndDragHdl, HeaderBar *, void)
virtual void clear() override
virtual void insert(const weld::TreeIter *pParent, int pos, const OUString *pStr, const OUString *pId, const OUString *pIconName, VirtualDevice *pImageSurface, bool bChildrenOnDemand, weld::TreeIter *pRet) override
virtual TriState get_sort_indicator(int col) const override
virtual bool get_sensitive() const override
Definition: salvtables.cxx:374
bool IsDummyEntry(SvTreeListEntry *pEntry) const
virtual bool get_sort_order() const override
virtual void set_column_editables(const std::vector< bool > &rEditables) override
virtual bool iter_parent(weld::TreeIter &rIter) const override
DECL_STATIC_LINK(SalInstanceTreeView, FinishDragHdl, SvTreeListBox *, void)
virtual void expand_row(const weld::TreeIter &rIter) override
void set_text_emphasis(SvTreeListEntry *pEntry, bool bOn, int col=-1)
std::pair< SvTreeListEntry *, OUString > IterString
o3tl::sorted_vector< int > m_aCustomRenders
virtual int get_iter_depth(const weld::TreeIter &rIter) const override
const OUString * getEntryData(int index) const
virtual void thaw() override
virtual void set_centered_column(int nCol) override
virtual void connect_editing(const Link< const weld::TreeIter &, bool > &rStartLink, const Link< const iter_string &, bool > &rEndLink) override
virtual void set_extra_row_indent(const weld::TreeIter &rIter, int nIndentLevel) override
virtual bool get_row_expanded(const weld::TreeIter &rIter) const override
virtual bool get_iter_first(weld::TreeIter &rIter) const override
virtual int iter_n_children(const weld::TreeIter &rIter) const override
int to_internal_model(int col) const
void set_sensitive(SvTreeListEntry *pEntry, bool bSensitive, int col)
virtual int get_cursor_index() const override
virtual tools::Rectangle get_row_area(const weld::TreeIter &rIter) const override
DECL_LINK(SelectHdl, SvTreeListBox *, void)
virtual OUString get_id(int pos) const override
virtual void bulk_insert_for_each(int nSourceCount, const std::function< void(weld::TreeIter &, int nSourceIndex)> &func, const weld::TreeIter *pParent=nullptr, const std::vector< int > *pFixedWidths=nullptr) override
virtual void make_sorted() override
virtual bool get_cursor(weld::TreeIter *pIter) const override
virtual void set_show_expanders(bool bShow) override
virtual std::vector< int > get_selected_rows() const override
virtual void vadjustment_set_value(int nValue) override
virtual void collapse_row(const weld::TreeIter &rIter) override
void update_checkbutton_column_width(SvTreeListEntry *pEntry)
virtual void hide() override
DECL_LINK(CompareHdl, const SvSortData &, sal_Int32)
void do_insert(const weld::TreeIter *pParent, int pos, const OUString *pStr, const OUString *pId, const OUString *pIconName, const VirtualDevice *pImageSurface, bool bChildrenOnDemand, weld::TreeIter *pRet, bool bIsSeparator)
virtual bool get_dest_row_at_pos(const Point &rPos, weld::TreeIter *pResult, bool bDnDMode, bool bAutoScroll=true) override
bool get_text_emphasis(SvTreeListEntry *pEntry, int col) const
virtual void selected_foreach(const std::function< bool(weld::TreeIter &)> &func) override
virtual void set_column_fixed_widths(const std::vector< int > &rWidths) override
virtual void set_sort_func(const std::function< int(const weld::TreeIter &, const weld::TreeIter &)> &func) override
DECL_LINK(EditingEntryHdl, SvTreeListEntry *, bool)
virtual OUString get_tooltip_text() const override
Definition: salvtables.cxx:519
virtual css::uno::Reference< css::datatransfer::dnd::XDropTarget > get_drop_target() override
Definition: salvtables.cxx:675
virtual void HandleEventListener(VclWindowEvent &rEvent)
Definition: salvtables.cxx:719
virtual void set_buildable_name(const OString &rId) override
Definition: salvtables.cxx:437
DECL_LINK(MnemonicActivateHdl, vcl::Window &, bool)
DECL_LINK(EventListener, VclWindowEvent &, void)
virtual int get_margin_start() const override
Definition: salvtables.cxx:482
virtual void set_stack_background() override
Definition: salvtables.cxx:696
SalInstanceWidget(vcl::Window *pWidget, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
Definition: salvtables.cxx:359
virtual int get_grid_top_attach() const override
Definition: salvtables.cxx:460
virtual int get_margin_top() const override
Definition: salvtables.cxx:478
virtual int get_grid_left_attach() const override
Definition: salvtables.cxx:451
virtual void set_title_background() override
Definition: salvtables.cxx:701
virtual bool get_hexpand() const override
Definition: salvtables.cxx:464
virtual void connect_mouse_press(const Link< const MouseEvent &, bool > &rLink) override
Definition: salvtables.cxx:554
virtual bool has_focus() const override
Definition: salvtables.cxx:397
virtual void hide() override
Definition: salvtables.cxx:405
virtual OString get_help_id() const override
Definition: salvtables.cxx:444
virtual OString get_buildable_name() const override
Definition: salvtables.cxx:435
virtual void set_size_request(int nWidth, int nHeight) override
Definition: salvtables.cxx:407
virtual void set_help_id(const OString &rId) override
Definition: salvtables.cxx:442
virtual int get_margin_bottom() const override
Definition: salvtables.cxx:480
virtual void set_background(const Color &rColor) override
Definition: salvtables.cxx:343
virtual void set_busy_cursor(bool bBusy) override
Definition: salvtables.cxx:620
virtual void help_hierarchy_foreach(const std::function< bool(const OString &)> &func) override
virtual void show() override
Definition: salvtables.cxx:403
virtual vcl::Font get_font() override
Definition: salvtables.cxx:433
virtual void set_margin_top(int nMargin) override
Definition: salvtables.cxx:470
virtual void queue_resize() override
Definition: salvtables.cxx:633
void ensure_key_listener()
Definition: salvtables.cxx:323
const bool m_bTakeOwnership
Definition: salvtables.hxx:189
virtual void connect_size_allocate(const Link< const Size &, void > &rLink) override
Definition: salvtables.cxx:548
virtual void set_vexpand(bool bExpand) override
Definition: salvtables.cxx:466
virtual void connect_get_property_tree(const Link< tools::JsonWriter &, void > &rLink) override
Definition: salvtables.cxx:686
DECL_LINK(MouseEventListener, VclWindowEvent &, void)
virtual void connect_mouse_release(const Link< const MouseEvent &, bool > &rLink) override
Definition: salvtables.cxx:566
virtual void set_grid_top_attach(int nAttach) override
Definition: salvtables.cxx:455
virtual bool has_child_focus() const override
Definition: salvtables.cxx:401
virtual void set_direction(bool bRTL) override
Definition: salvtables.cxx:604
virtual void get_property_tree(tools::JsonWriter &rJsonWriter) override
Definition: salvtables.cxx:691
virtual Size get_size_request() const override
Definition: salvtables.cxx:413
virtual void set_sensitive(bool sensitive) override
Definition: salvtables.cxx:372
virtual std::unique_ptr< weld::Container > weld_parent() const override
vcl::Window * getWidget() const
Definition: salvtables.cxx:649
void ensure_mouse_listener()
Definition: salvtables.cxx:334
bool IsLastThaw() const
Definition: salvtables.hxx:209
virtual void freeze() override
Definition: salvtables.cxx:606
virtual void set_tooltip_text(const OUString &rTip) override
Definition: salvtables.cxx:514
virtual css::uno::Reference< css::datatransfer::clipboard::XClipboard > get_clipboard() const override
Definition: salvtables.cxx:681
virtual void set_margin_bottom(int nMargin) override
Definition: salvtables.cxx:472
virtual void set_accessible_description(const OUString &rDescription) override
Definition: salvtables.cxx:491
virtual OUString strip_mnemonic(const OUString &rLabel) const override
Definition: salvtables.cxx:657
virtual int get_margin_end() const override
Definition: salvtables.cxx:484
SalInstanceBuilder * m_pBuilder
Definition: salvtables.hxx:179
bool notify_events_disabled() const
Definition: salvtables.cxx:653
virtual bool get_vexpand() const override
Definition: salvtables.cxx:468
virtual ~SalInstanceWidget() override
Definition: salvtables.cxx:635
virtual void connect_key_press(const Link< const KeyEvent &, bool > &rLink) override
Definition: salvtables.cxx:572
virtual bool is_visible() const override
Definition: salvtables.cxx:378
virtual void connect_mnemonic_activate(const Link< Widget &, bool > &rLink) override
Definition: salvtables.cxx:536
static void DoRecursivePaint(vcl::Window *pWindow, const Point &rPos, OutputDevice &rOutput)
virtual void set_grid_width(int nCols) override
Definition: salvtables.cxx:453
virtual void call_attention_to() override
Definition: salvtables.cxx:669
std::unique_ptr< SalFlashAttention > m_xFlashAttention
Definition: salvtables.hxx:178
virtual bool is_active() const override
Definition: salvtables.cxx:399
virtual bool get_extents_relative_to(const Widget &rRelative, int &x, int &y, int &width, int &height) const override
Definition: salvtables.cxx:584
virtual void set_hexpand(bool bExpand) override
Definition: salvtables.cxx:462
virtual bool has_grab() const override
Definition: salvtables.cxx:598
virtual bool get_sensitive() const override
Definition: salvtables.cxx:374
virtual void grab_focus() override
Definition: salvtables.cxx:390
virtual int get_text_height() const override
Definition: salvtables.cxx:425
void enable_notify_events()
Definition: salvtables.cxx:655
virtual void set_grid_left_attach(int nAttach) override
Definition: salvtables.cxx:446
virtual void set_margin_start(int nMargin) override
Definition: salvtables.cxx:474
virtual void set_accessible_name(const OUString &rName) override
Definition: salvtables.cxx:486
virtual void set_margin_end(int nMargin) override
Definition: salvtables.cxx:476
virtual OUString get_accessible_description() const override
Definition: salvtables.cxx:498
virtual void set_highlight_background() override
Definition: salvtables.cxx:712
DECL_LINK(KeyEventListener, VclWindowEvent &, bool)
virtual void connect_key_release(const Link< const KeyEvent &, bool > &rLink) override
Definition: salvtables.cxx:578
virtual void grab_add() override
Definition: salvtables.cxx:596
virtual void set_accessible_relation_labeled_by(weld::Widget *pLabel) override
Definition: salvtables.cxx:503
void ensure_event_listener()
Definition: salvtables.cxx:311
SystemWindow * getSystemWindow()
Definition: salvtables.cxx:717
virtual void HandleMouseEventListener(VclWindowEvent &rEvent)
Definition: salvtables.cxx:740
virtual void draw(OutputDevice &rOutput, const Point &rPos, const Size &rSizePixel) override
virtual bool get_visible() const override
Definition: salvtables.cxx:376
virtual OUString get_accessible_name() const override
Definition: salvtables.cxx:496
virtual float get_approximate_digit_width() const override
Definition: salvtables.cxx:420
virtual void thaw() override
Definition: salvtables.cxx:613
VclPtr< vcl::Window > m_xWidget
Definition: salvtables.hxx:177
virtual void connect_mouse_move(const Link< const MouseEvent &, bool > &rLink) override
Definition: salvtables.cxx:560
void disable_notify_events()
Definition: salvtables.cxx:651
virtual void connect_focus_in(const Link< Widget &, void > &rLink) override
Definition: salvtables.cxx:530
virtual void set_cursor_data(void *pData) override
Definition: salvtables.cxx:521
bool IsFirstFreeze() const
Definition: salvtables.hxx:208
virtual bool get_direction() const override
Definition: salvtables.cxx:602
virtual Size get_pixel_size(const OUString &rText) const override
Definition: salvtables.cxx:427
virtual void connect_focus_out(const Link< Widget &, void > &rLink) override
Definition: salvtables.cxx:542
virtual void set_toolbar_background() override
Definition: salvtables.cxx:706
virtual Size get_preferred_size() const override
Definition: salvtables.cxx:418
virtual VclPtr< VirtualDevice > create_virtual_device() const override
Definition: salvtables.cxx:662
virtual void set_can_focus(bool bCanFocus) override
Definition: salvtables.cxx:380
virtual void grab_remove() override
Definition: salvtables.cxx:600
virtual bool HandleKeyEventListener(VclWindowEvent &rEvent)
Definition: salvtables.cxx:789
virtual bool has_toplevel_focus() const override
virtual VclPtr< VirtualDevice > screenshot() override
virtual Point get_position() const override
void clear_child_help(vcl::Window *pParent)
virtual void present() override
virtual void set_modal(bool bModal) override
virtual css::uno::Reference< css::awt::XWindow > GetXWindow() override
virtual void set_centered_on_parent(bool) override
VclPtr< vcl::Window > m_xWindow
Definition: salvtables.hxx:435
virtual void resize_to_request() override
virtual void change_default_widget(weld::Widget *pOld, weld::Widget *pNew) override
SalInstanceWindow(vcl::Window *pWindow, SalInstanceBuilder *pBuilder, bool bTakeOwnership)
virtual SystemEnvData get_system_data() const override
virtual bool get_modal() const override
virtual bool is_default_widget(const weld::Widget *pCandidate) const override
virtual OUString get_title() const override
virtual bool get_resizable() const override
virtual weld::ScreenShotCollection collect_screenshot_data() override
void recursively_unset_default_buttons()
virtual void window_move(int x, int y) override
virtual void set_window_state(const OString &rStr) override
virtual OString get_window_state(vcl::WindowDataMask nMask) const override
virtual ~SalInstanceWindow() override
virtual void set_title(const OUString &rTitle) override
void override_child_help(vcl::Window *pParent)
virtual tools::Rectangle get_monitor_workarea() const override
void implResetDefault(const vcl::Window *_pWindow)
virtual Size get_size() const override
DECL_LINK(HelpHdl, vcl::Window &, bool)
A toolbar: contains all those icons, typically below the menu bar.
Definition: toolbox.hxx:74
Event to pass information for UserDraw() handling eg. in comboboxes.
Definition: event.hxx:222
vcl::RenderContext * GetRenderContext() const
Definition: event.hxx:241
bool IsSelected() const
Definition: event.hxx:244
const tools::Rectangle & GetRect() const
Definition: event.hxx:242
sal_uInt16 GetItemId() const
Definition: event.hxx:243
static VclPtr< reference_type > Create(Arg &&... arg)
A construction helper for VclPtr.
Definition: vclptr.hxx:127
VclEventId GetId() const
Definition: vclevent.hxx:184
WeldTextFilter(Link< OUString &, bool > &rInsertTextHdl)
virtual OUString filter(const OUString &rText) override
Link< OUString &, bool > & m_rInsertTextHdl
Definition: salvtables.hxx:547
constexpr tools::Long GetWidth() const
constexpr tools::Long Top() const
constexpr tools::Long GetHeight() const
bool HasChildPathFocus(bool bSystemWindow=false) const
Definition: window.cxx:3011
A widget used to choose from a list of items.
Definition: weld.hxx:703
virtual void insert(int pos, const OUString &rStr, const OUString *pId, const OUString *pIconName, VirtualDevice *pImageSurface)=0
void signal_custom_render(vcl::RenderContext &rDevice, const tools::Rectangle &rRect, bool bSelected, const OUString &rId)
Definition: weld.hxx:726
virtual void connect_popup_toggled(const Link< ComboBox &, void > &rLink)
Definition: weld.hxx:800
virtual void signal_popup_toggled()
Definition: weld.hxx:723
virtual OString popup_at_rect(weld::Widget *pParent, const tools::Rectangle &rRect, Placement ePlace=Placement::Under)=0
virtual void set_label(const OString &rIdent, const OUString &rLabel)=0
virtual void set_visible(const OString &rIdent, bool bVisible)=0
virtual void clear()=0
virtual bool get_sensitive(const OString &rIdent) const =0
virtual bool get_active(const OString &rIdent) const =0
virtual int n_children() const =0
virtual void remove(const OString &rId)=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_active(const OString &rIdent, bool bActive)=0
virtual void insert_separator(int pos, const OUString &rId)=0
virtual OString get_id(int pos) const =0
virtual OUString get_label(const OString &rIdent) const =0
virtual void set_sensitive(const OString &rIdent, bool bSensitive)=0
FieldUnit
TriState
std::function< std::unique_ptr< UIObject >(vcl::Window *)> FactoryFunction
sal_uInt16 nPos
#define LISTBOX_ENTRY_NOTFOUND
Definition: lstbox.hxx:37
int i
index
long Long
ImageType
Definition: vclenum.hxx:287
WindowDataMask
Definition: windowstate.hxx:43
ColumnToggleType
Definition: weld.hxx:879
Placement
Definition: weld.hxx:2354
EntryMessageType
Definition: weld.hxx:693
LabelType
Definition: weld.hxx:2152
std::vector< ScreenShotEntry > ScreenShotCollection
Definition: weld.hxx:513
PointerStyle
Definition: ptrstyle.hxx:26
SalInstanceTreeIter(const SalInstanceTreeIter *pOrig)
SalInstanceTreeIter(SvTreeListEntry *pIter)
SvTreeListEntry * iter
virtual bool equal(const TreeIter &rOther) const override
const tools::Long nButtonWidth
std::tuple< vcl::RenderContext &, const tools::Rectangle &, const SvTreeListEntry & > svtree_render_args
std::pair< vcl::RenderContext &, const SvTreeListEntry & > svtree_measure_args
unsigned char sal_uInt8
OUString sId
SelectionMode
Definition: vclenum.hxx:26
TxtAlign
Definition: vclenum.hxx:323
css::uno::Reference< css::accessibility::XAccessibleRelationSet > a11yrelationset
Definition: weld.hxx:52
css::uno::Reference< css::accessibility::XAccessible > a11yref
Definition: weld.hxx:51
WinBits const WB_NOPOINTERFOCUS
Definition: wintypes.hxx:155
WinBits const WB_FLATBUTTON
Definition: wintypes.hxx:186
WinBits const WB_SORT
Definition: wintypes.hxx:158
size_t pos