Fcitx
candidateaction.cpp
1 /*
2  * SPDX-FileCopyrightText: 2024-2024 CSSlayer <wengxt@gmail.com>
3  *
4  * SPDX-License-Identifier: LGPL-2.1-or-later
5  *
6  */
7 #include "candidateaction.h"
8 #include <memory>
9 #include <string>
10 #include "fcitx-utils/macros.h"
11 
12 namespace fcitx {
13 
15 public:
16  CandidateActionPrivate() = default;
17  FCITX_INLINE_DEFINE_DEFAULT_DTOR_COPY_AND_MOVE_WITHOUT_SPEC(
19 
20  int id_ = 0;
21  std::string text_;
22  bool isSeparator_ = false;
23  std::string icon_;
24  bool isCheckable_ = false;
25  bool isChecked_ = false;
26 };
27 
28 CandidateAction::CandidateAction()
29  : d_ptr(std::make_unique<CandidateActionPrivate>()) {}
30 
31 FCITX_DEFINE_DPTR_COPY_AND_DEFAULT_DTOR_AND_MOVE(CandidateAction);
32 
33 FCITX_DEFINE_PROPERTY_PRIVATE(CandidateAction, int, id, setId);
34 FCITX_DEFINE_PROPERTY_PRIVATE(CandidateAction, std::string, text, setText);
35 FCITX_DEFINE_PROPERTY_PRIVATE(CandidateAction, bool, isSeparator, setSeparator);
36 FCITX_DEFINE_PROPERTY_PRIVATE(CandidateAction, std::string, icon, setIcon);
37 FCITX_DEFINE_PROPERTY_PRIVATE(CandidateAction, bool, isCheckable, setCheckable);
38 FCITX_DEFINE_PROPERTY_PRIVATE(CandidateAction, bool, isChecked, setChecked);
39 
40 } // namespace fcitx
Definition: action.cpp:17