LibreOffice Module shell (master) 1
propsheets.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_SHELL_INC_INTERNAL_PROPSHEETS_HXX
21#define INCLUDED_SHELL_INC_INTERNAL_PROPSHEETS_HXX
22
23#include "metainforeader.hxx"
24
25#include <shlobj.h>
26#include <string>
27#include <memory>
28#include "filepath.hxx"
29
30class CPropertySheet : public IShellExtInit, public IShellPropSheetExt
31{
32public:
33 CPropertySheet(LONG RefCnt = 1);
34
35 virtual ~CPropertySheet();
36
37
38 // IUnknown methods
39
40
41 virtual HRESULT STDMETHODCALLTYPE QueryInterface(
42 REFIID riid,
43 void __RPC_FAR *__RPC_FAR *ppvObject) override;
44
45 virtual ULONG STDMETHODCALLTYPE AddRef() override;
46
47 virtual ULONG STDMETHODCALLTYPE Release() override;
48
49
50 // IShellExtInit
51
52
53 virtual HRESULT STDMETHODCALLTYPE Initialize(
54 LPCITEMIDLIST pidlFolder, IDataObject * lpdobj, HKEY hkeyProgID) override;
55
56
57 // IShellPropSheetExt
58
59
60 virtual HRESULT STDMETHODCALLTYPE AddPages(LPFNSVADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam) override;
61
62 virtual HRESULT STDMETHODCALLTYPE ReplacePage(
63 EXPPS uPageID, LPFNSVADDPROPSHEETPAGE lpfnReplaceWith, LPARAM lParam) override;
64
65private:
66 // Windows callback functions
67 static UINT CALLBACK PropPageSummaryCallback(HWND hwnd, UINT uMsg, LPPROPSHEETPAGE ppsp);
68 static bool CALLBACK PropPageSummaryProc(HWND hwnd, UINT uiMsg, WPARAM wParam, LPARAM lParam);
69 static BOOL CALLBACK PropPageStatisticsProc(HWND hwnd, UINT uiMsg, WPARAM wParam, LPARAM lParam);
70
71
72 // Helper functions
73 void InitPropPageSummary(HWND hwnd, LPPROPSHEETPAGE lppsp);
74 void InitPropPageStatistics(HWND hwnd, LPPROPSHEETPAGE lppsp);
75
76private:
79};
80
81#endif
82
83/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual ~CPropertySheet()
Definition: propsheets.cxx:58
void InitPropPageStatistics(HWND hwnd, LPPROPSHEETPAGE lppsp)
Definition: propsheets.cxx:286
void InitPropPageSummary(HWND hwnd, LPPROPSHEETPAGE lppsp)
Definition: propsheets.cxx:258
Filepath_char_t m_szFileName[MAX_PATH]
Definition: propsheets.hxx:78
virtual HRESULT STDMETHODCALLTYPE ReplacePage(EXPPS uPageID, LPFNSVADDPROPSHEETPAGE lpfnReplaceWith, LPARAM lParam) override
Definition: propsheets.cxx:202
virtual ULONG STDMETHODCALLTYPE AddRef() override
Definition: propsheets.cxx:93
virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void __RPC_FAR *__RPC_FAR *ppvObject) override
Definition: propsheets.cxx:68
virtual HRESULT STDMETHODCALLTYPE Initialize(LPCITEMIDLIST pidlFolder, IDataObject *lpdobj, HKEY hkeyProgID) override
Definition: propsheets.cxx:115
static bool CALLBACK PropPageSummaryProc(HWND hwnd, UINT uiMsg, WPARAM wParam, LPARAM lParam)
Definition: propsheets.cxx:225
static BOOL CALLBACK PropPageStatisticsProc(HWND hwnd, UINT uiMsg, WPARAM wParam, LPARAM lParam)
Definition: propsheets.cxx:242
virtual HRESULT STDMETHODCALLTYPE AddPages(LPFNSVADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam) override
Definition: propsheets.cxx:164
CPropertySheet(LONG RefCnt=1)
Definition: propsheets.cxx:50
static UINT CALLBACK PropPageSummaryCallback(HWND hwnd, UINT uMsg, LPPROPSHEETPAGE ppsp)
Definition: propsheets.cxx:209
virtual ULONG STDMETHODCALLTYPE Release() override
Definition: propsheets.cxx:100
char Filepath_char_t
Definition: filepath.hxx:21
#define MAX_PATH
#define CALLBACK
const wchar_t *typedef BOOL
LONG