36using namespace css::uno;
50 const std::function<
void()>& rCloserAction)
52 , msId(rDeckDescriptor.msId)
54 , mnScrolledWindowExtraWidth(0)
57 , mxParentWindow(pParentWindow)
58 , mxTitleBar(new
DeckTitleBar(rDeckDescriptor.msTitle, *m_xBuilder, rCloserAction))
59 , mxVerticalScrollBar(m_xBuilder->weld_scrolled_window(
"scrolledwindow"))
60 , mxContents(m_xBuilder->weld_box(
"contents"))
92 for (
auto& rpPanel : aPanels)
127 rpPanel->DataChanged();
140 rJsonWriter.
put(
"type",
"deck");
144 rJsonWriter.
put(
"visible",
false);
146 auto childrenNode = rJsonWriter.
startArray(
"children");
150 auto xContent = it->GetContents();
155 rJsonWriter.
put(
"id", it->GetId());
156 rJsonWriter.
put(
"type",
"panel");
157 rJsonWriter.
put(
"text", it->GetTitle());
158 rJsonWriter.
put(
"enabled",
true);
159 rJsonWriter.
put(
"hidden", it->IsLurking());
160 rJsonWriter.
put(
"expanded", it->IsExpanded());
162 if (it->GetTitleBar() && !it->GetTitleBar()->GetMoreOptionsCommand().isEmpty())
163 rJsonWriter.
put(
"command", it->GetTitleBar()->GetMoreOptionsCommand());
166 auto children2Node = rJsonWriter.
startArray(
"children");
169 xContent->get_property_tree(rJsonWriter);
187 for (
const auto &
i : rPanelContainer)
188 bFound = bFound || (rpPanel.get() ==
i.get());
191 rpPanel->SetLurkMode(
true);
192 aHiddens.push_back(rpPanel);
196 bool bDifferent =
maPanels.size() != rPanelContainer.size() || aHiddens.size();
197 maPanels = std::move(rPanelContainer);
200 maPanels.insert(std::end(
maPanels), std::begin(aHiddens), std::end(aHiddens));
233 bool bChangeNeeded =
false;
239 bChangeNeeded =
true;
246 bChangeNeeded =
true;
267 if(pPanel->GetId() == panelId)
286 auto nPanelTop = aExtents.
Top();
287 auto nPanelBottom = aExtents.
Bottom() - 1;
295 if (nPanelTop < nNewThumbPos)
296 nNewThumbPos = nPanelTop;
virtual void dispose() override
std::unique_ptr< weld::Container > m_xContainer
One SfxViewShell more or less represents one edit window for a document, there can be multiple ones f...
bool isLOKMobilePhone() const
Check if the lok client is running on a mobile device.
static SAL_WARN_UNUSED_RESULT SfxViewShell * Current()
constexpr tools::Long Height() const
void setWidth(tools::Long nWidth)
void setHeight(tools::Long nHeight)
constexpr tools::Long Width() const
void SetStyle(WinBits nStyle)
const OUString & get_id() const
virtual void setPosSizePixel(tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, PosSizeFlags nFlags=PosSizeFlags::All)
virtual Size GetSizePixel() const
virtual OUString GetText() const
VCL_DLLPUBLIC void SendFullUpdate(const OUString &nWindowId, const OUString &rWidget)
WinBits const WB_DIALOGCONTROL