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