Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitea78121

Browse files
committed
update AbstractLayout TwoDimensionalLayout and overrides abstract-classes
1 parent1335741 commitea78121

File tree

2 files changed

+85
-2
lines changed

2 files changed

+85
-2
lines changed

‎bindings/interface/AbstractLayout.cpp‎

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,32 @@ class PyBAbstractLayout : public BAbstractLayout{
6767
status_tPerform(perform_code d,void* arg)override {
6868
PYBIND11_OVERLOAD(status_t, BAbstractLayout, Perform, d, arg);
6969
}
70+
voidDoLayout()override {
71+
PYBIND11_OVERLOAD_PURE(void, BAbstractLayout, DoLayout);
72+
}
7073
};
7174

7275
PYBIND11_MODULE(AbstractLayout,m)
7376
{
74-
py::class_<BAbstractLayout,PyBAbstractLayout, BLayout>(m,"BAbstractLayout");
77+
py::class_<BAbstractLayout,PyBAbstractLayout, BLayout>(m,"BAbstractLayout")
78+
.def(py::init(),"")
79+
.def(py::init<BMessage *>(),"",py::arg("from"))
80+
.def("MinSize", &BAbstractLayout::MinSize,"")
81+
.def("MaxSize", &BAbstractLayout::MaxSize,"")
82+
.def("PreferredSize", &BAbstractLayout::PreferredSize,"")
83+
.def("Alignment", &BAbstractLayout::Alignment,"")
84+
.def("SetExplicitMinSize", &BAbstractLayout::SetExplicitMinSize,"",py::arg("size"))
85+
.def("SetExplicitMaxSize", &BAbstractLayout::SetExplicitMaxSize,"",py::arg("size"))
86+
.def("SetExplicitPreferredSize", &BAbstractLayout::SetExplicitPreferredSize,"",py::arg("size"))
87+
.def("SetExplicitAlignment", &BAbstractLayout::SetExplicitAlignment,"",py::arg("alignment"))
88+
.def("BaseMinSize", &BAbstractLayout::BaseMinSize,"")
89+
.def("BaseMaxSize", &BAbstractLayout::BaseMaxSize,"")
90+
.def("BasePreferredSize", &BAbstractLayout::BasePreferredSize,"")
91+
.def("BaseAlignment", &BAbstractLayout::BaseAlignment,"")
92+
.def("Frame", &BAbstractLayout::Frame,"")
93+
.def("SetFrame", &BAbstractLayout::SetFrame,"",py::arg("frame"))
94+
.def("IsVisible", &BAbstractLayout::IsVisible,"")
95+
.def("SetVisible", &BAbstractLayout::SetVisible,"",py::arg("visible"))
96+
.def("Archive", &BAbstractLayout::Archive,"",py::arg("into"),py::arg("deep")=true)
97+
.def("Perform", &BAbstractLayout::Perform,"",py::arg("d"),py::arg("arg"));
7598
}

‎bindings/interface/TwoDimensionalLayout.cpp‎

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,68 @@
88

99
namespacepy= pybind11;
1010

11+
classPyBTwoDimensionalLayout :publicBTwoDimensionalLayout{
12+
public:
13+
using BTwoDimensionalLayout::BTwoDimensionalLayout;
14+
BSizeBaseMinSize()override {
15+
PYBIND11_OVERLOAD(BSize, BTwoDimensionalLayout, BaseMinSize);
16+
}
17+
BSizeBaseMaxSize()override {
18+
PYBIND11_OVERLOAD(BSize, BTwoDimensionalLayout, BaseMaxSize);
19+
}
20+
BSizeBasePreferredSize()override {
21+
PYBIND11_OVERLOAD(BSize, BTwoDimensionalLayout, BasePreferredSize);
22+
}
23+
BAlignmentBaseAlignment()override {
24+
PYBIND11_OVERLOAD(BAlignment, BTwoDimensionalLayout, BaseAlignment);
25+
}
26+
boolHasHeightForWidth()override {
27+
PYBIND11_OVERLOAD(bool, BTwoDimensionalLayout, HasHeightForWidth);
28+
}
29+
voidGetHeightForWidth(float width,float* min,float* max,float* preferred)override {
30+
PYBIND11_OVERLOAD(void, BTwoDimensionalLayout, GetHeightForWidth, width, min, max, preferred);
31+
}
32+
voidSetFrame(BRect frame)override {
33+
PYBIND11_OVERLOAD(void, BTwoDimensionalLayout, SetFrame, frame);
34+
}
35+
status_tArchive(BMessage* into,bool deep =true)constoverride {
36+
PYBIND11_OVERLOAD(status_t, BTwoDimensionalLayout, Archive, into, deep);
37+
}
38+
status_tPerform(perform_code d,void* arg)override {
39+
PYBIND11_OVERLOAD(status_t, BTwoDimensionalLayout, Perform, d, arg);
40+
}
41+
int32InternalCountColumns()override {
42+
PYBIND11_OVERLOAD_PURE(int32, BTwoDimensionalLayout, InternalCountColumns);
43+
}
44+
int32InternalCountRows()override {
45+
PYBIND11_OVERLOAD_PURE(int32, BTwoDimensionalLayout, InternalCountRows);
46+
}
47+
voidGetColumnRowConstraints(orientation orientation, int32 index, ColumnRowConstraints* constraints)override {
48+
PYBIND11_OVERLOAD_PURE(void, BTwoDimensionalLayout, GetColumnRowConstraints, orientation, index, constraints);
49+
}
50+
voidGetItemDimensions(BLayoutItem* item, Dimensions* dimensions)override {
51+
PYBIND11_OVERLOAD_PURE(void, BTwoDimensionalLayout, GetItemDimensions, item, dimensions);
52+
}
53+
};
1154

1255
PYBIND11_MODULE(TwoDimensionalLayout,m)
1356
{
14-
py::class_<BTwoDimensionalLayout, BAbstractLayout>(m,"BTwoDimensionalLayout");
57+
py::class_<BTwoDimensionalLayout,PyBTwoDimensionalLayout, BAbstractLayout>(m,"BTwoDimensionalLayout")
58+
.def(py::init(),"")
59+
.def(py::init<BMessage *>(),"",py::arg("from"))
60+
.def("SetInsets", py::overload_cast<float,float,float,float>(&BTwoDimensionalLayout::SetInsets),"",py::arg("left"),py::arg("top"),py::arg("right"),py::arg("bottom"))
61+
.def("SetInsets", py::overload_cast<float,float>(&BTwoDimensionalLayout::SetInsets),"",py::arg("horizontal"),py::arg("vertical"))
62+
.def("SetInsets", py::overload_cast<float>(&BTwoDimensionalLayout::SetInsets),"",py::arg("insets"))
63+
.def("GetInsets", &BTwoDimensionalLayout::GetInsets,"",py::arg("left"),py::arg("top"),py::arg("right"),py::arg("bottom"))
64+
.def("AlignLayoutWith", &BTwoDimensionalLayout::AlignLayoutWith,"",py::arg("other"),py::arg("orientation"))
65+
.def("BaseMinSize", &BTwoDimensionalLayout::BaseMinSize,"")
66+
.def("BaseMaxSize", &BTwoDimensionalLayout::BaseMaxSize,"")
67+
.def("BasePreferredSize", &BTwoDimensionalLayout::BasePreferredSize,"")
68+
.def("BaseAlignment", &BTwoDimensionalLayout::BaseAlignment,"")
69+
.def("HasHeightForWidth", &BTwoDimensionalLayout::HasHeightForWidth,"")
70+
.def("GetHeightForWidth", &BTwoDimensionalLayout::GetHeightForWidth,"",py::arg("width"),py::arg("min"),py::arg("max"),py::arg("preferred"))
71+
.def("SetFrame", &BTwoDimensionalLayout::SetFrame,"",py::arg("frame"))
72+
.def("Archive", &BTwoDimensionalLayout::Archive,"",py::arg("into"),py::arg("deep")=true)
73+
.def("Perform", &BTwoDimensionalLayout::Perform,"",py::arg("d"),py::arg("arg"))
74+
;
1575
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp