Skip to content

Commit ceb41fe

Browse files
committed
updates
1 parent 845813b commit ceb41fe

15 files changed

+83
-6
lines changed

source/code/programs/ide/frame/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ hcp_hdrs_derive(
189189
"//code/utilities/data_structures/graphics/objects/faced_grid:grid_label_drawer",
190190
"//code/utilities/data_structures/graphics/objects/faced_tree:tree_label_drawer",
191191
"//code/utilities/data_structures/graphics/objects/label:label_drawer",
192+
"//code/utilities/data_structures/graphics/objects/label:label_is_mouse_over",
192193
"//code/utilities/data_structures/graphics/objects/mouse/draw:mouse_frame_getter",
193194
"//code/utilities/data_structures/graphics/objects/mouse/draw:mouse_selection_drawer",
194195
"//code/utilities/data_structures/graphics/objects/mouse/events:mouse_events_checker",

source/code/programs/ide/frame/apply_schema_to_elements.hcp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ class
3333
//NOT NEEDED
3434
(void)x;
3535
},
36+
[&](Positioned_Label & x) {
37+
//NOT NEEDED
38+
(void)x;
39+
},
3640
}, it.element);
3741
3842

@@ -65,5 +69,9 @@ class
6569
//NOT NEEDED
6670
(void)x;
6771
},
72+
[&](Positioned_Label & x) {
73+
//NOT NEEDED
74+
(void)x;
75+
},
6876
}, it.element);
6977

source/code/programs/ide/frame/convert_all_ide_elements.hcp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ class
4848
//todo
4949
results.frame_elements.types += Select_Menu_Drawer::Draw(settings.desktop.unilang_font_lookup,x,pc_input).types;
5050
},
51+
[&](Positioned_Label & x) {
52+
//todo
53+
results.frame_elements.types += Label_Drawer::Draw(settings.desktop.unilang_font_lookup,x,pc_input.mouse).types;
54+
},
5155
}, it.element);
5256
}
5357

source/code/programs/ide/frame/find_mouse_over_index.hcp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ class
3737
[&](Positioned_Rectangle_Settings & x) {
3838
was_performed = Mouse_Events_Checker::position_inside_rectangle(prev_pos,x.pos,x.shape);
3939
},
40+
[&](Positioned_Label & x) {
41+
was_performed = Label_Is_Mouse_Over::Check(x.pos, x.state, pc_input);
42+
},
4043
}, it.element);
4144

4245
if (was_performed){

source/code/programs/ide/frame/forward_compatible_element_upgrades.hcp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ class
3333
//NOT NEEDED
3434
(void)x;
3535
},
36+
[&](Positioned_Label & x) {
37+
//NOT NEEDED
38+
(void)x;
39+
},
3640
}, it.element);
3741

3842

source/code/programs/ide/frame/move_ide_element.hcp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,9 @@ class
2929
x.pos.x += pos.x;
3030
x.pos.y += pos.y;
3131
},
32+
[&](Positioned_Label & x) {
33+
x.pos.x += pos.x;
34+
x.pos.y += pos.y;
35+
},
3236
}, it.element);
3337

source/code/programs/ide/frame/validate_ide_element.hcp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ class
3232
//NOT NEEDED
3333
(void)x;
3434
},
35+
[&](Positioned_Label const& x) {
36+
//NOT NEEDED
37+
(void)x;
38+
},
3539
}, it.element);
3640

3741

@@ -68,6 +72,10 @@ class
6872
//NOT NEEDED
6973
(void)x;
7074
},
75+
[&](Positioned_Label const& x) {
76+
//NOT NEEDED
77+
(void)x;
78+
},
7179
}, it.element);
7280

7381

source/code/programs/ide/gl_context_element_load.hcp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ class
2525
Stb_Animated_Image_Setter::Set(x);
2626
},
2727
[&](Positioned_Rectangle_Settings & x) {
28+
},
29+
[&](Positioned_Label & x) {
2830
}
2931
}, it.element);
3032

source/code/programs/ide/global_actions/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ hcp(
6464
"//code/utilities/formats/json/converters:lib",
6565
"//code/utilities/graphics/sdl:sdl_fullscreener",
6666
"//code/utilities/program/wrappers/zenity/file_selector",
67+
"//code/utilities/data_structures/graphics/objects/label/style:default_label_styles",
6768
],
6869
)
6970

source/code/programs/ide/global_actions/global_element_builder.hcp

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,26 +15,47 @@ class
1515
❪"code/programs/ide/global_actions/save_state_serializer"❫
1616
❪"code/utilities/code/save/state_to_code_converter"❫
1717
❪"code/programs/ide/global_actions/main_menu_selector"❫
18+
❪"code/utilities/data_structures/graphics/objects/label/style/default_label_styles"❫
1819
⚞⚟
1920

2021

2122
◀public: static▶ void ☀Handle_Global_Element_Builder_Items(Ide_Settings & settings, SDL_Window* window, Frame_Elements & elements, const std::string & selected_item)❰
2223

2324
if (selected_item == "Add Positioned_Rectangle_Settings"){
24-
std::cout << "sdfsdfs" << std::endl;
2525
Ide_Element e;
2626
Positioned_Rectangle_Settings e2;
27-
e2.pos.x = 200;
28-
e2.pos.y = 200;
27+
e2.pos = Find_Good_Starting_Position(settings,window,elements,selected_item);
2928
e2.shape.dimensions.width = 100;
3029
e2.shape.dimensions.height = 100;
3130
e.element = e2;
3231
settings.elements.types.emplace_back(e);
3332
}
33+
else if (selected_item == "Add Positioned_Label")
34+
{
35+
std::cout << "sdfsdfs" << std::endl;
36+
Ide_Element e;
37+
Positioned_Label e2;
38+
e2.state.message = "hello";
39+
e2.state.styles = Default_Label_Styles::Plain_White_Box();
40+
e.element = e2;
41+
settings.elements.types.emplace_back(e);
42+
}
3443
else if (selected_item == "Add Positioned_Image_Data"){
3544
//
3645
}
3746
else if (selected_item == "Add Positioned_Buildable_Schema_Faced_Tree"){
3847
//
3948
}
49+
50+
51+
◀private: static▶ Position ☀Find_Good_Starting_Position(Ide_Settings & settings, SDL_Window* window, Frame_Elements & elements, const std::string & selected_item)❰
52+
(void)settings;
53+
(void)window;
54+
(void)elements;
55+
(void)selected_item;
56+
57+
Position pos;
58+
pos.x = 200;
59+
pos.y = 200;
60+
return pos;
4061

source/code/programs/ide/global_actions/main_menu_selector.hcp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ class
3131
},
3232
[&](Positioned_Rectangle_Settings & x) {
3333
},
34+
[&](Positioned_Label & x) {
35+
},
3436
[&](Positioned_Select_Menu & x) {
3537
auto label = Tree_Label_Active_Finder::Find_Active_Label(x.menu);
3638
if (label != x.menu.nodes.end()){

source/code/programs/ide/settings/data/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ hcp_hdrs_derive(
6262
"//code/utilities/data_structures/graphics/image:positioned_image_data",
6363
"//code/utilities/data_structures/graphics/objects/buildable_faced_tree/data:positioned_buildable_face_tree",
6464
"//code/utilities/data_structures/graphics/objects/buildable_schema_faced_tree/data:positioned_buildable_schema_faced_tree",
65+
"//code/utilities/data_structures/graphics/objects/label/data:positioned_label",
6566
"//code/utilities/formats/json/converters:lib",
6667
"//code/utilities/formats/json/overloads:variant_json_converters",
6768
"//code/utilities/data_structures/shapes/rectangle:positioned_rectangle_settings",

source/code/programs/ide/settings/data/ide_element.hcp

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,22 @@ class
66
public:
77

88
std::variant<
9-
Positioned_Buildable_Face_Tree,
10-
Positioned_Buildable_Schema_Faced_Tree,
9+
10+
// Basic Shape
11+
Positioned_Rectangle_Settings,
12+
13+
// Images
1114
Positioned_Image_Data,
1215
Positioned_Animated_Image_Data,
16+
17+
// Text-like boxes
18+
Positioned_Label,
19+
20+
// GUI Menu
1321
Positioned_Select_Menu,
14-
Positioned_Rectangle_Settings
22+
23+
// GUI Tree Builders
24+
Positioned_Buildable_Face_Tree,
25+
Positioned_Buildable_Schema_Faced_Tree
1526
> ፠element፠;
1627

source/code/programs/ide/settings/ide_default_settings_getter.hcp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,9 @@ class
257257

258258
auto top = x.menu.nodes.begin();
259259
x.menu.nodes.insert(top,face_label);
260+
261+
face_label.state.faces[0].label.message = "Add Positioned_Label";
262+
x.menu.nodes.insert(top,face_label);
260263

261264
face_label.state.faces[0].label.message = "Add Positioned_Image_Data";
262265
x.menu.nodes.insert(top,face_label);

source/code/utilities/code/save/state_to_code_converter.hcp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ class
3131
//don't care
3232
(void)x;
3333
},
34+
[&](Positioned_Label & x) {
35+
//don't care
36+
(void)x;
37+
},
3438
[&](Positioned_Buildable_Schema_Faced_Tree & x) {
3539

3640
//tokenize

0 commit comments

Comments
 (0)