LibreOffice Module vcl (master) 1
iconview.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#ifndef INCLUDED_SVTOOLS_ICONVIEW_HXX
21#define INCLUDED_SVTOOLS_ICONVIEW_HXX
22
23#include <tools/json_writer.hxx>
25
26class IconView final : public SvTreeListBox
27{
28public:
29 IconView(vcl::Window* pParent, WinBits nBits);
30
31 Size GetEntrySize(const SvTreeListEntry&) const;
32
33 virtual void Resize() override;
34
36
38 vcl::RenderContext& rRenderContext);
39
40 virtual css::uno::Reference<css::accessibility::XAccessible> CreateAccessible() override;
41
42 virtual OUString GetEntryAccessibleDescription(SvTreeListEntry* pEntry) const override;
44 {
46 }
47
48 virtual FactoryFunction GetUITestFactory() const override;
49 virtual void DumpAsPropertyTree(tools::JsonWriter& rJsonWriter) override;
50
51 typedef std::tuple<tools::JsonWriter&, SvTreeListEntry*, std::string_view> json_prop_query;
52
54 {
56 }
57
58protected:
59 virtual void CalcEntryHeight(SvTreeListEntry const* pEntry) override;
60
61private:
64 void DumpEntryAndSiblings(tools::JsonWriter& rJsonWriter, SvTreeListEntry* pEntry);
65};
66
67#endif
68
69/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
std::tuple< tools::JsonWriter &, SvTreeListEntry *, std::string_view > json_prop_query
Definition: iconview.hxx:51
virtual FactoryFunction GetUITestFactory() const override
Definition: iconview.cxx:257
void SetDumpElemToPropertyTreeHdl(const Link< const json_prop_query &, bool > &rLink)
Definition: iconview.hxx:53
void DumpEntryAndSiblings(tools::JsonWriter &rJsonWriter, SvTreeListEntry *pEntry)
Definition: iconview.cxx:281
IconView(vcl::Window *pParent, WinBits nBits)
Definition: iconview.cxx:40
Link< const json_prop_query &, bool > maDumpElemToPropertyTreeHdl
Definition: iconview.hxx:63
void PaintEntry(SvTreeListEntry &, tools::Long nX, tools::Long nY, vcl::RenderContext &rRenderContext)
Definition: iconview.cxx:99
virtual OUString GetEntryAccessibleDescription(SvTreeListEntry *pEntry) const override
Definition: iconview.cxx:247
virtual void Resize() override
Definition: iconview.cxx:82
Size GetEntrySize(const SvTreeListEntry &) const
Definition: iconview.cxx:50
virtual void DumpAsPropertyTree(tools::JsonWriter &rJsonWriter) override
Dumps itself and potentially its children to a property tree, to be written easily to JSON.
Definition: iconview.cxx:321
Link< SvTreeListEntry *, OUString > maEntryAccessibleDescriptionHdl
Definition: iconview.hxx:62
virtual tools::Rectangle GetFocusRect(const SvTreeListEntry *, tools::Long) override
Definition: iconview.cxx:94
void SetEntryAccessibleDescriptionHdl(const Link< SvTreeListEntry *, OUString > &rLink)
Definition: iconview.hxx:43
virtual void CalcEntryHeight(SvTreeListEntry const *pEntry) override
Definition: iconview.cxx:57
virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessible() override
Creates and returns the accessible object of the Box.
Definition: iconview.cxx:233
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
Definition: outdev.hxx:170
std::function< std::unique_ptr< UIObject >(vcl::Window *)> FactoryFunction
long Long
sal_Int64 WinBits
Definition: wintypes.hxx:109