|
|
@@ -186,7 +186,7 @@ pub async fn make(
|
|
|
is_first_time: bool,
|
|
|
) {
|
|
|
let window_scale = PropertyFloat32::wrap(
|
|
|
- &app.sg_root.clone().lookup_node("/setting/scale").unwrap(),
|
|
|
+ &app.sg_root.lookup_node("/setting/scale").unwrap(),
|
|
|
Role::Internal,
|
|
|
"value",
|
|
|
0,
|
|
|
@@ -213,10 +213,10 @@ pub async fn make(
|
|
|
// Main view
|
|
|
let layer_node = create_layer(&(channel.to_string() + "_chat_layer"));
|
|
|
let prop = layer_node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 3, expr::load_var("h")).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 3, expr::load_var("h")).unwrap();
|
|
|
layer_node.set_property_bool(atom, Role::App, "is_visible", false).unwrap();
|
|
|
layer_node.set_property_u32(atom, Role::App, "z_index", 1).unwrap();
|
|
|
let layer_node = layer_node.setup(|me| Layer::new(me, app.render_api.clone())).await;
|
|
|
@@ -225,10 +225,10 @@ pub async fn make(
|
|
|
// Create the toolbar bg
|
|
|
let node = create_vector_art("toolbar_bg");
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, CHATEDIT_HEIGHT).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, CHATEDIT_HEIGHT).unwrap();
|
|
|
node.set_property_u32(atom, Role::App, "z_index", 2).unwrap();
|
|
|
|
|
|
let (bg_color, sep_color) = match COLOR_SCHEME {
|
|
|
@@ -259,29 +259,29 @@ pub async fn make(
|
|
|
);
|
|
|
|
|
|
let node = node.setup(|me| VectorArt::new(me, shape, app.render_api.clone())).await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
// Create the send button
|
|
|
let node = create_vector_art("back_btn_bg");
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, BACKARROW_X).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, BACKARROW_Y).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 500.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 500.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, BACKARROW_X).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, BACKARROW_Y).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 500.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 500.).unwrap();
|
|
|
node.set_property_u32(atom, Role::App, "z_index", 3).unwrap();
|
|
|
|
|
|
let shape = shape::create_back_arrow().scaled(BACKARROW_SCALE);
|
|
|
let node = node.setup(|me| VectorArt::new(me, shape, app.render_api.clone())).await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
// Create the back button
|
|
|
let node = create_button("back_btn");
|
|
|
node.set_property_bool(atom, Role::App, "is_active", true).unwrap();
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, EMOJI_BG_W).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, CHATEDIT_HEIGHT).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, EMOJI_BG_W).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, CHATEDIT_HEIGHT).unwrap();
|
|
|
|
|
|
// Menu doesn't exist yet ;)
|
|
|
// So look it up in the callback.
|
|
|
@@ -293,10 +293,10 @@ pub async fn make(
|
|
|
info!(target: "app::chat", "clicked back");
|
|
|
let atom = &mut render_api.make_guard();
|
|
|
|
|
|
- let editz_node = layer_node2.clone().lookup_node("/content/editz").unwrap();
|
|
|
+ let editz_node = layer_node2.lookup_node("/content/editz").unwrap();
|
|
|
editz_node.call_method("unfocus", vec![]).await.unwrap();
|
|
|
|
|
|
- let menu_node = sg_root.clone().lookup_node("/window/menu_layer").unwrap();
|
|
|
+ let menu_node = sg_root.lookup_node("/window/menu_layer").unwrap();
|
|
|
menu_node.set_property_bool(atom, Role::App, "is_visible", true).unwrap();
|
|
|
|
|
|
chatview_is_visible.set(atom, false);
|
|
|
@@ -313,7 +313,7 @@ pub async fn make(
|
|
|
app.tasks.lock().unwrap().push(listen_click);
|
|
|
|
|
|
let node = node.setup(|me| Button::new(me)).await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
// Create shortcut to go back as well
|
|
|
let node = create_shortcut("back_shortcut");
|
|
|
@@ -336,50 +336,50 @@ pub async fn make(
|
|
|
app.tasks.lock().unwrap().push(listen_enter);
|
|
|
|
|
|
let node = node.setup(|me| Shortcut::new(me)).await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
// Create some text
|
|
|
let node = create_text("channel_label");
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, CHATEDIT_LHS_PAD).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, CHANNEL_LABEL_Y).unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, CHATEDIT_HEIGHT).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, CHATEDIT_LHS_PAD).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, CHANNEL_LABEL_Y).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, CHATEDIT_HEIGHT).unwrap();
|
|
|
node.set_property_f32(atom, Role::App, "font_size", FONTSIZE * 1.2).unwrap();
|
|
|
node.set_property_str(atom, Role::App, "text", &("#".to_string() + channel)).unwrap();
|
|
|
//node.set_property_bool(atom, Role::App, "debug", true).unwrap();
|
|
|
//node.set_property_str(atom, Role::App, "text", "anon1").unwrap();
|
|
|
let prop = node.get_property("text_color").unwrap();
|
|
|
if COLOR_SCHEME == ColorScheme::DarkMode {
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 1.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 1.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 1.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
} else if COLOR_SCHEME == ColorScheme::PaperLight {
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
}
|
|
|
node.set_property_u32(atom, Role::App, "z_index", 3).unwrap();
|
|
|
|
|
|
let node = node
|
|
|
.setup(|me| Text::new(me, window_scale.clone(), app.render_api.clone(), i18n_fish.clone()))
|
|
|
.await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
// Create the emoji picker
|
|
|
let mut node = create_emoji_picker("emoji_picker");
|
|
|
let prop = Property::new("dynamic_h", PropertyType::Float32, PropertySubType::Pixel);
|
|
|
node.add_property(prop).unwrap();
|
|
|
let emoji_dynamic_h_prop = node.get_property("dynamic_h").unwrap();
|
|
|
- //emoji_dynamic_h_prop.clone().set_f32(atom, Role::App, 0, 400.).unwrap();
|
|
|
+ //emoji_dynamic_h_prop.set_f32(atom, Role::App, 0, 400.).unwrap();
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
let code = cc.compile("h - dynamic_h").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 3, expr::load_var("dynamic_h")).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 3, expr::load_var("dynamic_h")).unwrap();
|
|
|
prop.add_depend(&emoji_dynamic_h_prop, 0, "dynamic_h");
|
|
|
let emoji_h_prop = PropertyFloat32::wrap(&node, Role::App, "dynamic_h", 0).unwrap();
|
|
|
//node.set_property_f32(atom, Role::App, "font_size", FONTSIZE).unwrap();
|
|
|
@@ -387,16 +387,16 @@ pub async fn make(
|
|
|
node.set_property_u32(atom, Role::App, "z_index", 2).unwrap();
|
|
|
let node = node.setup(|me| EmojiPicker::new(me, app.render_api.clone(), emoji_meshes)).await;
|
|
|
let emoji_picker_node = node.clone();
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
// Create the editbox bg
|
|
|
let node = create_vector_art("emoji_picker_bg");
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
let code = cc.compile("h - dynamic_h").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 3, expr::load_var("dynamic_h")).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 3, expr::load_var("dynamic_h")).unwrap();
|
|
|
prop.add_depend(&emoji_dynamic_h_prop, 0, "dynamic_h");
|
|
|
node.set_property_u32(atom, Role::App, "z_index", 2).unwrap();
|
|
|
|
|
|
@@ -426,33 +426,33 @@ pub async fn make(
|
|
|
// [0.41, 0.6, 0.65, 1.],
|
|
|
//);
|
|
|
let node = node.setup(|me| VectorArt::new(me, shape, app.render_api.clone())).await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
// Main content view
|
|
|
let chat_layer_node = layer_node;
|
|
|
let layer_node = create_layer("content");
|
|
|
let prop = layer_node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
let code = cc.compile("h - emoji_h").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 3, code).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 3, code).unwrap();
|
|
|
prop.add_depend(&emoji_dynamic_h_prop, 0, "emoji_h");
|
|
|
layer_node.set_property_bool(atom, Role::App, "is_visible", true).unwrap();
|
|
|
layer_node.set_property_u32(atom, Role::App, "z_index", 1).unwrap();
|
|
|
layer_node.set_property_u32(atom, Role::App, "priority", 1).unwrap();
|
|
|
let layer_node = layer_node.setup(|me| Layer::new(me, app.render_api.clone())).await;
|
|
|
- chat_layer_node.clone().link(layer_node.clone());
|
|
|
+ chat_layer_node.link(layer_node.clone());
|
|
|
|
|
|
// ChatView
|
|
|
let node = create_chatview("chatty");
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 10.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, CHATEDIT_HEIGHT).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 10.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, CHATEDIT_HEIGHT).unwrap();
|
|
|
let code = cc.compile("w - 30").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 2, code).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 2, code).unwrap();
|
|
|
let code = cc.compile("h - CHATEDIT_HEIGHT - editz_h - 2 * CHATEDIT_BOTTOM_PAD").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 3, code).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 3, code).unwrap();
|
|
|
let chatview_rect_prop = prop.clone();
|
|
|
node.set_property_f32(atom, Role::App, "font_size", FONTSIZE).unwrap();
|
|
|
node.set_property_f32(atom, Role::App, "timestamp_font_size", TIMESTAMP_FONTSIZE).unwrap();
|
|
|
@@ -471,21 +471,21 @@ pub async fn make(
|
|
|
node.set_property_f32(atom, Role::App, "scroll_resist", 0.9).unwrap();
|
|
|
|
|
|
let prop = node.get_property("timestamp_color").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.407).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.604).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 0.647).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.407).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.604).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 0.647).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
let prop = node.get_property("text_color").unwrap();
|
|
|
if COLOR_SCHEME == ColorScheme::PaperLight {
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
} else if COLOR_SCHEME == ColorScheme::DarkMode {
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 1.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 1.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 1.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
}
|
|
|
|
|
|
let prop = node.get_property("nick_colors").unwrap();
|
|
|
@@ -503,20 +503,20 @@ pub async fn make(
|
|
|
1.00, 0.30, 0.00, 1.
|
|
|
];
|
|
|
for c in nick_colors {
|
|
|
- prop.clone().push_f32(atom, Role::App, c).unwrap();
|
|
|
+ prop.push_f32(atom, Role::App, c).unwrap();
|
|
|
}
|
|
|
|
|
|
let prop = node.get_property("hi_bg_color").unwrap();
|
|
|
if COLOR_SCHEME == ColorScheme::PaperLight {
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.5).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.5).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 0.5).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.5).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.5).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 0.5).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
} else if COLOR_SCHEME == ColorScheme::DarkMode {
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.5).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.5).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 0.5).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.5).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.5).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 0.5).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
}
|
|
|
|
|
|
let tree_name = channel.to_string() + "__chat_tree";
|
|
|
@@ -536,7 +536,7 @@ pub async fn make(
|
|
|
)
|
|
|
})
|
|
|
.await;
|
|
|
- layer_node.clone().link(chatview_node.clone());
|
|
|
+ layer_node.link(chatview_node.clone());
|
|
|
|
|
|
if is_first_time {
|
|
|
let chatview = match chatview_node.pimpl() {
|
|
|
@@ -554,12 +554,12 @@ pub async fn make(
|
|
|
// Create the editbox bg
|
|
|
let node = create_vector_art("editbox_bg");
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
let code = cc.compile("h - editz_h - 2 * CHATEDIT_BOTTOM_PAD").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
let code = cc.compile("editz_h + 2 * CHATEDIT_BOTTOM_PAD").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 3, code).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 3, code).unwrap();
|
|
|
node.set_property_u32(atom, Role::App, "z_index", 4).unwrap();
|
|
|
node.set_property_u32(atom, Role::App, "priority", 2).unwrap();
|
|
|
|
|
|
@@ -614,31 +614,31 @@ pub async fn make(
|
|
|
// [0.41, 0.6, 0.65, 1.],
|
|
|
//);
|
|
|
let node = node.setup(|me| VectorArt::new(me, shape, app.render_api.clone())).await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
// Create the send button
|
|
|
let node = create_vector_art("send_btn_bg");
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
let code = cc.compile("w - SENDARROW_NEG_X").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 0, code).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 0, code).unwrap();
|
|
|
let code = cc.compile("h - SENDARROW_NEG_Y").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 500.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 500.).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 500.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 500.).unwrap();
|
|
|
node.set_property_u32(atom, Role::App, "z_index", 5).unwrap();
|
|
|
let shape = shape::create_send_arrow().scaled(EMOJI_SCALE);
|
|
|
let node = node.setup(|me| VectorArt::new(me, shape, app.render_api.clone())).await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
// Create the emoji button
|
|
|
let node = create_vector_art("emoji_btn_bg");
|
|
|
let emoji_btn_is_visible = PropertyBool::wrap(&node, Role::Ignored, "is_visible", 0).unwrap();
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, EMOJI_BTN_X).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, EMOJI_BTN_X).unwrap();
|
|
|
let code = cc.compile("h - EMOJI_NEG_Y").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 500.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 500.).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 500.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 500.).unwrap();
|
|
|
node.set_property_u32(atom, Role::App, "z_index", 5).unwrap();
|
|
|
let color = match COLOR_SCHEME {
|
|
|
ColorScheme::DarkMode => [0., 1., 1., 1.],
|
|
|
@@ -646,22 +646,22 @@ pub async fn make(
|
|
|
};
|
|
|
let shape = shape::create_emoji_selector(color).scaled(EMOJI_SCALE);
|
|
|
let node = node.setup(|me| VectorArt::new(me, shape, app.render_api.clone())).await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
// Create the emoji button
|
|
|
let node = create_vector_art("emoji_close_btn_bg");
|
|
|
node.set_property_bool(atom, Role::App, "is_visible", false).unwrap();
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
let emoji_close_is_visible = PropertyBool::wrap(&node, Role::Ignored, "is_visible", 0).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, EMOJI_BTN_X).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, EMOJI_BTN_X).unwrap();
|
|
|
let code = cc.compile("h - EMOJI_NEG_Y").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 500.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 500.).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 500.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 500.).unwrap();
|
|
|
node.set_property_u32(atom, Role::App, "z_index", 5).unwrap();
|
|
|
let shape = shape::create_close_icon().scaled(EMOJI_CLOSE_SCALE);
|
|
|
let node = node.setup(|me| VectorArt::new(me, shape, app.render_api.clone())).await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
// Text edit
|
|
|
let node = create_chatedit("editz");
|
|
|
@@ -669,54 +669,54 @@ pub async fn make(
|
|
|
node.set_property_bool(atom, Role::App, "is_focused", true).unwrap();
|
|
|
|
|
|
let prop = node.get_property("height_range").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, CHATEDIT_MIN_HEIGHT).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, CHATEDIT_MAX_HEIGHT).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, CHATEDIT_MIN_HEIGHT).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, CHATEDIT_MAX_HEIGHT).unwrap();
|
|
|
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, CHATEDIT_LHS_PAD).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, CHATEDIT_LHS_PAD).unwrap();
|
|
|
let code = cc.compile("parent_h - (rect_h + CHATEDIT_BOTTOM_PAD)").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
let code = cc.compile("parent_w - CHATEDIT_NEG_W").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 2, code).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, CHATEDIT_HEIGHT).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 2, code).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, CHATEDIT_HEIGHT).unwrap();
|
|
|
|
|
|
chatview_rect_prop.add_depend(&prop, 3, "editz_h");
|
|
|
editbox_bg_rect_prop.add_depend(&prop, 3, "editz_h");
|
|
|
|
|
|
let prop = node.get_property("padding").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, TEXTBAR_BASELINE * 0.4).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, TEXTBAR_BASELINE / 2.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, TEXTBAR_BASELINE * 0.4).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, TEXTBAR_BASELINE / 2.).unwrap();
|
|
|
|
|
|
node.set_property_f32(atom, Role::App, "baseline", TEXTBAR_BASELINE).unwrap();
|
|
|
node.set_property_f32(atom, Role::App, "font_size", FONTSIZE * 1.2).unwrap();
|
|
|
//node.set_property_str(atom, Role::App, "text", "hello king!😁🍆jelly 🍆1234").unwrap();
|
|
|
let prop = node.get_property("text_color").unwrap();
|
|
|
if COLOR_SCHEME == ColorScheme::PaperLight {
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
} else if COLOR_SCHEME == ColorScheme::DarkMode {
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 1.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 1.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 1.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
}
|
|
|
let prop = node.get_property("text_hi_color").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.44).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.96).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 1.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.44).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.96).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
let prop = node.get_property("text_cmd_color").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.64).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 1.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 0.83).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.64).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 0.83).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
let prop = node.get_property("cursor_color").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.816).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.627).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 1.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.816).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.627).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
node.set_property_f32(atom, Role::App, "cursor_ascent", CHATEDIT_CURSOR_ASCENT).unwrap();
|
|
|
node.set_property_f32(atom, Role::App, "cursor_descent", CHATEDIT_CURSOR_DESCENT).unwrap();
|
|
|
node.set_property_f32(atom, Role::App, "select_ascent", CHATEDIT_SELECT_ASCENT).unwrap();
|
|
|
@@ -724,27 +724,27 @@ pub async fn make(
|
|
|
node.set_property_f32(atom, Role::App, "handle_descent", CHATEDIT_HANDLE_DESCENT).unwrap();
|
|
|
let prop = node.get_property("hi_bg_color").unwrap();
|
|
|
if COLOR_SCHEME == ColorScheme::PaperLight {
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.5).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.5).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 0.5).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.5).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.5).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 0.5).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
} else if COLOR_SCHEME == ColorScheme::DarkMode {
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.27).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 0.22).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.27).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 0.22).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
}
|
|
|
let prop = node.get_property("cmd_bg_color").unwrap();
|
|
|
if COLOR_SCHEME == ColorScheme::PaperLight {
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.5).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.5).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 0.5).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.5).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.5).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 0.5).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
} else if COLOR_SCHEME == ColorScheme::DarkMode {
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.30).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 0.25).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.30).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 0.25).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
}
|
|
|
node.set_property_u32(atom, Role::App, "z_index", 6).unwrap();
|
|
|
node.set_property_u32(atom, Role::App, "priority", 3).unwrap();
|
|
|
@@ -775,7 +775,7 @@ pub async fn make(
|
|
|
let node =
|
|
|
node.setup(|me| ChatEdit::new(me, window_scale.clone(), app.render_api.clone())).await;
|
|
|
let chatedit_node = node.clone();
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
let (slot, recvr) = Slot::new("emoji_selected");
|
|
|
emoji_picker_node.register("emoji_select", slot).unwrap();
|
|
|
@@ -795,13 +795,13 @@ pub async fn make(
|
|
|
// Create the editbox fg shadow
|
|
|
let node = create_vector_art("editbox_fg");
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, EMOJI_BG_W).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, EMOJI_BG_W).unwrap();
|
|
|
let code = cc.compile("editz_bg_top_y").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 300.).unwrap();
|
|
|
- //prop.clone().set_expr(atom, Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
- //prop.clone().set_expr(atom, Role::App, 3, expr::load_var("editz_bg_h")).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 300.).unwrap();
|
|
|
+ //prop.set_expr(atom, Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
+ //prop.set_expr(atom, Role::App, 3, expr::load_var("editz_bg_h")).unwrap();
|
|
|
node.set_property_u32(atom, Role::App, "z_index", 4).unwrap();
|
|
|
prop.add_depend(&editbox_bg_rect_prop, 1, "editz_bg_top_y");
|
|
|
prop.add_depend(&editbox_bg_rect_prop, 3, "editz_bg_h");
|
|
|
@@ -822,7 +822,7 @@ pub async fn make(
|
|
|
);
|
|
|
let node =
|
|
|
node.setup(|me| VectorArt::new(me, shape, app.render_api.clone())).await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
*/
|
|
|
|
|
|
// Create the send button
|
|
|
@@ -830,11 +830,11 @@ pub async fn make(
|
|
|
node.set_property_bool(atom, Role::App, "is_active", true).unwrap();
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
let code = cc.compile("w - SENDBTN_BOX_0").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 0, code).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 0, code).unwrap();
|
|
|
let code = cc.compile("h - SENDBTN_BOX_1").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, SENDBTN_BOX[2]).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, SENDBTN_BOX[3]).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, SENDBTN_BOX[2]).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, SENDBTN_BOX[3]).unwrap();
|
|
|
|
|
|
let editz_text2 = editz_text.clone();
|
|
|
let channel2 = format!("#{channel}");
|
|
|
@@ -853,7 +853,7 @@ pub async fn make(
|
|
|
info!(target: "app::chat", "Send '{text}' to channel: {channel}");
|
|
|
editz_text.set(atom, "");
|
|
|
|
|
|
- let Some(darkirc) = sg_root.clone().lookup_node("/plugin/darkirc") else {
|
|
|
+ let Some(darkirc) = sg_root.lookup_node("/plugin/darkirc") else {
|
|
|
error!(target: "app::chat", "DarkIrc plugin has not been loaded");
|
|
|
return
|
|
|
};
|
|
|
@@ -912,7 +912,7 @@ pub async fn make(
|
|
|
app.tasks.lock().unwrap().push(listen_click);
|
|
|
|
|
|
let node = node.setup(|me| Button::new(me)).await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
// Create shortcut to send as well
|
|
|
let node = create_shortcut("send_shortcut");
|
|
|
@@ -928,17 +928,17 @@ pub async fn make(
|
|
|
app.tasks.lock().unwrap().push(listen_enter);
|
|
|
|
|
|
let node = node.setup(|me| Shortcut::new(me)).await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
// Create the emoji button
|
|
|
let node = create_button("emoji_btn");
|
|
|
node.set_property_bool(atom, Role::App, "is_active", true).unwrap();
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, EMOJIBTN_BOX[0]).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, EMOJIBTN_BOX[0]).unwrap();
|
|
|
let code = cc.compile("h - EMOJIBTN_BOX_1").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, EMOJIBTN_BOX[2]).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, EMOJIBTN_BOX[3]).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, EMOJIBTN_BOX[2]).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, EMOJIBTN_BOX[3]).unwrap();
|
|
|
|
|
|
let (slot, recvr) = Slot::new("reqkeyb");
|
|
|
chatedit_node.register("focus_request", slot).unwrap();
|
|
|
@@ -1011,24 +1011,24 @@ pub async fn make(
|
|
|
app.tasks.lock().unwrap().push(listen_click);
|
|
|
|
|
|
let node = node.setup(|me| Button::new(me)).await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
// Commands help hint
|
|
|
let cmd_layer_node = create_layer("cmd_hint_layer");
|
|
|
let prop = cmd_layer_node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 5.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 5.).unwrap();
|
|
|
let code = cc.compile("editz_bg_top_y - CMD_HELP_HEIGHT - CMD_HELP_GAP").unwrap();
|
|
|
//let code = cc.compile("h - 60 - 80").unwrap();
|
|
|
//let code = cc.compile("h - 60 - 300").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
let code = cc.compile("w - 2 * CMD_HELP_GAP").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 2, code).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, CMD_HELP_HEIGHT).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 2, code).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, CMD_HELP_HEIGHT).unwrap();
|
|
|
prop.add_depend(&editbox_bg_rect_prop, 1, "editz_bg_top_y");
|
|
|
cmd_layer_node.set_property_bool(atom, Role::App, "is_visible", false).unwrap();
|
|
|
cmd_layer_node.set_property_u32(atom, Role::App, "z_index", 3).unwrap();
|
|
|
let cmd_layer_node = cmd_layer_node.setup(|me| Layer::new(me, app.render_api.clone())).await;
|
|
|
- layer_node.clone().link(cmd_layer_node.clone());
|
|
|
+ layer_node.link(cmd_layer_node.clone());
|
|
|
|
|
|
let cmd_hint_is_visible =
|
|
|
PropertyBool::wrap(&cmd_layer_node, Role::App, "is_visible", 0).unwrap();
|
|
|
@@ -1037,10 +1037,10 @@ pub async fn make(
|
|
|
let node = create_button("nickcmd_btn");
|
|
|
node.set_property_bool(atom, Role::App, "is_active", true).unwrap();
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, CMD_HELP_NICK_CMD_WIDTH).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, CMD_HELP_HEIGHT).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, CMD_HELP_NICK_CMD_WIDTH).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, CMD_HELP_HEIGHT).unwrap();
|
|
|
|
|
|
let (slot, recvr) = Slot::new("nickcmd_clicked");
|
|
|
node.register("click", slot).unwrap();
|
|
|
@@ -1058,15 +1058,15 @@ pub async fn make(
|
|
|
app.tasks.lock().unwrap().push(listen_click);
|
|
|
|
|
|
let node = node.setup(|me| Button::new(me)).await;
|
|
|
- cmd_layer_node.clone().link(node);
|
|
|
+ cmd_layer_node.link(node);
|
|
|
|
|
|
// Create the actionbar bg
|
|
|
let node = create_vector_art("cmd_hint_bg");
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 3, expr::load_var("h")).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 2, expr::load_var("w")).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 3, expr::load_var("h")).unwrap();
|
|
|
node.set_property_u32(atom, Role::App, "z_index", 0).unwrap();
|
|
|
|
|
|
let mut shape = VectorShape::new();
|
|
|
@@ -1101,53 +1101,53 @@ pub async fn make(
|
|
|
);
|
|
|
|
|
|
let node = node.setup(|me| VectorArt::new(me, shape, app.render_api.clone())).await;
|
|
|
- cmd_layer_node.clone().link(node);
|
|
|
+ cmd_layer_node.link(node);
|
|
|
|
|
|
// Create some text
|
|
|
let node = create_text("cmd_nick_label");
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, CMD_HELP_CMD_LABEL_X_INSET).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, CMD_HELP_LABEL_Y).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 1000.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1000.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, CMD_HELP_CMD_LABEL_X_INSET).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, CMD_HELP_LABEL_Y).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 1000.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1000.).unwrap();
|
|
|
node.set_property_f32(atom, Role::App, "font_size", CMD_HELP_CMD_FONTSIZE).unwrap();
|
|
|
node.set_property_str(atom, Role::App, "text", "/nick").unwrap();
|
|
|
//node.set_property_bool(atom, Role::App, "debug", true).unwrap();
|
|
|
//node.set_property_str(atom, Role::App, "text", "anon1").unwrap();
|
|
|
let prop = node.get_property("text_color").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.64).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 1.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 0.83).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.64).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 0.83).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
node.set_property_u32(atom, Role::App, "z_index", 1).unwrap();
|
|
|
|
|
|
let node = node
|
|
|
.setup(|me| Text::new(me, window_scale.clone(), app.render_api.clone(), i18n_fish.clone()))
|
|
|
.await;
|
|
|
- cmd_layer_node.clone().link(node);
|
|
|
+ cmd_layer_node.link(node);
|
|
|
|
|
|
// Create some text
|
|
|
let node = create_text("cmd_nick_desc_label");
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, CMD_HELP_NICK_DESC_X).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, CMD_HELP_LABEL_Y).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 1000.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1000.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, CMD_HELP_NICK_DESC_X).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, CMD_HELP_LABEL_Y).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 1000.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1000.).unwrap();
|
|
|
node.set_property_f32(atom, Role::App, "font_size", FONTSIZE).unwrap();
|
|
|
node.set_property_str(atom, Role::App, "text", "Change your nickname").unwrap();
|
|
|
//node.set_property_bool(atom, Role::App, "debug", true).unwrap();
|
|
|
//node.set_property_str(atom, Role::App, "text", "anon1").unwrap();
|
|
|
let prop = node.get_property("text_color").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.94).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 1.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.94).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
node.set_property_u32(atom, Role::App, "z_index", 1).unwrap();
|
|
|
|
|
|
let node = node
|
|
|
.setup(|me| Text::new(me, window_scale.clone(), app.render_api.clone(), i18n_fish.clone()))
|
|
|
.await;
|
|
|
- cmd_layer_node.clone().link(node);
|
|
|
+ cmd_layer_node.link(node);
|
|
|
|
|
|
// Create debug box
|
|
|
/*
|
|
|
@@ -1156,11 +1156,11 @@ pub async fn make(
|
|
|
node.add_property(prop).unwrap();
|
|
|
node.set_property_f32(atom, Role::App, "hoff", 40.).unwrap();
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, EMOJIBTN_BOX[0]).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, EMOJIBTN_BOX[0]).unwrap();
|
|
|
let code = cc.compile("h - EMOJIBTN_BOX_1").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, EMOJIBTN_BOX[2]).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, EMOJIBTN_BOX[3]).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, EMOJIBTN_BOX[2]).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, EMOJIBTN_BOX[3]).unwrap();
|
|
|
let hoff_prop = node.get_property("hoff").unwrap();
|
|
|
prop.add_depend(&hoff_prop, 0, "hoff");
|
|
|
node.set_property_u32(atom, Role::App, "z_index", 6).unwrap();
|
|
|
@@ -1175,37 +1175,37 @@ pub async fn make(
|
|
|
);
|
|
|
let node =
|
|
|
node.setup(|me| VectorArt::new(me, shape, app.render_api.clone())).await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
*/
|
|
|
|
|
|
// Overlay popup
|
|
|
let content_layer_node = layer_node.clone();
|
|
|
let layer_node = create_layer("overlay_layer");
|
|
|
let prop = layer_node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 40.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 40.).unwrap();
|
|
|
let code = cc.compile("editz_bg_top_y - ACTION_POPUP_Y_OFF").unwrap();
|
|
|
//let code = cc.compile("h - 60 - 80").unwrap();
|
|
|
//let code = cc.compile("h - 60 - 300").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, ACTION_SELECT_ALL_RECT.rhs()).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, ACTION_SELECT_ALL_RECT.h).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, ACTION_SELECT_ALL_RECT.rhs()).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, ACTION_SELECT_ALL_RECT.h).unwrap();
|
|
|
prop.add_depend(&editbox_bg_rect_prop, 1, "editz_bg_top_y");
|
|
|
layer_node.set_property_bool(atom, Role::App, "is_visible", false).unwrap();
|
|
|
layer_node.set_property_u32(atom, Role::App, "z_index", 8).unwrap();
|
|
|
// Priority higher than chatview but lower than chatedit
|
|
|
layer_node.set_property_u32(atom, Role::App, "priority", 1).unwrap();
|
|
|
let layer_node = layer_node.setup(|me| Layer::new(me, app.render_api.clone())).await;
|
|
|
- content_layer_node.clone().link(layer_node.clone());
|
|
|
+ content_layer_node.link(layer_node.clone());
|
|
|
|
|
|
let actions_is_visible = PropertyBool::wrap(&layer_node, Role::App, "is_visible", 0).unwrap();
|
|
|
|
|
|
// Create the actionbar bg
|
|
|
let node = create_vector_art("actionbar_bg");
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, ACTION_SELECT_ALL_RECT.rhs()).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, ACTION_SELECT_ALL_RECT.h).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, ACTION_SELECT_ALL_RECT.rhs()).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, ACTION_SELECT_ALL_RECT.h).unwrap();
|
|
|
node.set_property_u32(atom, Role::App, "z_index", 0).unwrap();
|
|
|
|
|
|
let mut shape = VectorShape::new();
|
|
|
@@ -1273,39 +1273,39 @@ pub async fn make(
|
|
|
);
|
|
|
|
|
|
let node = node.setup(|me| VectorArt::new(me, shape, app.render_api.clone())).await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
// Create some text
|
|
|
let node = create_text("actions_label");
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, ACTION_LABEL_POS.x).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, ACTION_LABEL_POS.y).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, ACTION_SELECT_ALL_RECT.rhs()).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, ACTION_SELECT_ALL_RECT.h).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, ACTION_LABEL_POS.x).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, ACTION_LABEL_POS.y).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, ACTION_SELECT_ALL_RECT.rhs()).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, ACTION_SELECT_ALL_RECT.h).unwrap();
|
|
|
node.set_property_f32(atom, Role::App, "font_size", FONTSIZE * 1.24).unwrap();
|
|
|
node.set_property_str(atom, Role::App, "text", "copy paste select all").unwrap();
|
|
|
//node.set_property_bool(atom, Role::App, "debug", true).unwrap();
|
|
|
//node.set_property_str(atom, Role::App, "text", "anon1").unwrap();
|
|
|
let prop = node.get_property("text_color").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.94).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 1.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.94).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
node.set_property_u32(atom, Role::App, "z_index", 1).unwrap();
|
|
|
|
|
|
let node = node
|
|
|
.setup(|me| Text::new(me, window_scale.clone(), app.render_api.clone(), i18n_fish.clone()))
|
|
|
.await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
// Copy button
|
|
|
let node = create_button("copy_btn");
|
|
|
node.set_property_bool(atom, Role::App, "is_active", true).unwrap();
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, ACTION_COPY_RECT.x).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, ACTION_COPY_RECT.y).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, ACTION_COPY_RECT.w).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, ACTION_COPY_RECT.h).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, ACTION_COPY_RECT.x).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, ACTION_COPY_RECT.y).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, ACTION_COPY_RECT.w).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, ACTION_COPY_RECT.h).unwrap();
|
|
|
|
|
|
let (slot, recvr) = Slot::new("copy_clicked");
|
|
|
node.register("click", slot).unwrap();
|
|
|
@@ -1324,16 +1324,16 @@ pub async fn make(
|
|
|
app.tasks.lock().unwrap().push(listen_click);
|
|
|
|
|
|
let node = node.setup(|me| Button::new(me)).await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
// Paste button
|
|
|
let node = create_button("paste_btn");
|
|
|
node.set_property_bool(atom, Role::App, "is_active", true).unwrap();
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, ACTION_PASTE_RECT.x).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, ACTION_PASTE_RECT.y).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, ACTION_PASTE_RECT.w).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, ACTION_PASTE_RECT.h).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, ACTION_PASTE_RECT.x).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, ACTION_PASTE_RECT.y).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, ACTION_PASTE_RECT.w).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, ACTION_PASTE_RECT.h).unwrap();
|
|
|
|
|
|
let (slot, recvr) = Slot::new("paste_clicked");
|
|
|
node.register("click", slot).unwrap();
|
|
|
@@ -1357,16 +1357,16 @@ pub async fn make(
|
|
|
app.tasks.lock().unwrap().push(listen_click);
|
|
|
|
|
|
let node = node.setup(|me| Button::new(me)).await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
// Select all button
|
|
|
let node = create_button("select_all_btn");
|
|
|
node.set_property_bool(atom, Role::App, "is_active", true).unwrap();
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, ACTION_SELECT_ALL_RECT.x).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, ACTION_SELECT_ALL_RECT.y).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, ACTION_SELECT_ALL_RECT.w).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, ACTION_SELECT_ALL_RECT.h).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, ACTION_SELECT_ALL_RECT.x).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, ACTION_SELECT_ALL_RECT.y).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, ACTION_SELECT_ALL_RECT.w).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, ACTION_SELECT_ALL_RECT.h).unwrap();
|
|
|
|
|
|
let (slot, recvr) = Slot::new("select_all_clicked");
|
|
|
node.register("click", slot).unwrap();
|
|
|
@@ -1378,18 +1378,18 @@ pub async fn make(
|
|
|
app.tasks.lock().unwrap().push(listen_click);
|
|
|
|
|
|
let node = node.setup(|me| Button::new(me)).await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
// Paste overlay popup
|
|
|
let layer_node = create_layer("paste_layer");
|
|
|
let prop = layer_node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 40.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 40.).unwrap();
|
|
|
let code = cc.compile("editz_bg_top_y - ACTION_POPUP_Y_OFF").unwrap();
|
|
|
//let code = cc.compile("h - 60 - 80").unwrap();
|
|
|
//let code = cc.compile("h - 60 - 300").unwrap();
|
|
|
- prop.clone().set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, ACTION_SELECT_ALL_RECT.rhs()).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, ACTION_SELECT_ALL_RECT.h).unwrap();
|
|
|
+ prop.set_expr(atom, Role::App, 1, code).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, ACTION_SELECT_ALL_RECT.rhs()).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, ACTION_SELECT_ALL_RECT.h).unwrap();
|
|
|
prop.add_depend(&editbox_bg_rect_prop, 1, "editz_bg_top_y");
|
|
|
layer_node.set_property_bool(atom, Role::App, "is_visible", false).unwrap();
|
|
|
layer_node.set_property_u32(atom, Role::App, "z_index", 8).unwrap();
|
|
|
@@ -1415,10 +1415,10 @@ pub async fn make(
|
|
|
// Create the paste bg
|
|
|
let node = create_vector_art("paste_bg");
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, ACTION_SELECT_ALL_RECT.rhs()).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, ACTION_SELECT_ALL_RECT.h).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, ACTION_SELECT_ALL_RECT.rhs()).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, ACTION_SELECT_ALL_RECT.h).unwrap();
|
|
|
node.set_property_u32(atom, Role::App, "z_index", 0).unwrap();
|
|
|
|
|
|
let mut shape = VectorShape::new();
|
|
|
@@ -1448,42 +1448,42 @@ pub async fn make(
|
|
|
);
|
|
|
|
|
|
let node = node.setup(|me| VectorArt::new(me, shape, app.render_api.clone())).await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
// Create some text
|
|
|
let node = create_text("paste_label");
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, ACTION_LABEL_POS.x).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, ACTION_LABEL_POS.y).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, ACTION_SELECT_ALL_RECT.rhs()).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, ACTION_SELECT_ALL_RECT.h).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, ACTION_LABEL_POS.x).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, ACTION_LABEL_POS.y).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, ACTION_SELECT_ALL_RECT.rhs()).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, ACTION_SELECT_ALL_RECT.h).unwrap();
|
|
|
node.set_property_f32(atom, Role::App, "font_size", FONTSIZE).unwrap();
|
|
|
node.set_property_str(atom, Role::App, "text", "paste").unwrap();
|
|
|
//node.set_property_bool(atom, Role::App, "debug", true).unwrap();
|
|
|
//node.set_property_str(atom, Role::App, "text", "anon1").unwrap();
|
|
|
let prop = node.get_property("text_color").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.94).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, 1.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.94).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, 1.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, 1.).unwrap();
|
|
|
node.set_property_u32(atom, Role::App, "z_index", 1).unwrap();
|
|
|
|
|
|
let node = node
|
|
|
.setup(|me| Text::new(me, window_scale.clone(), app.render_api.clone(), i18n_fish.clone()))
|
|
|
.await;
|
|
|
- layer_node.clone().link(node);
|
|
|
+ layer_node.link(node);
|
|
|
|
|
|
// Paste button
|
|
|
let node = create_button("paste_btn");
|
|
|
node.set_property_bool(atom, Role::App, "is_active", true).unwrap();
|
|
|
let prop = node.get_property("rect").unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 2, ACTION_PASTE_RECT.w).unwrap();
|
|
|
- prop.clone().set_f32(atom, Role::App, 3, ACTION_PASTE_RECT.h).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 0, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 1, 0.).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 2, ACTION_PASTE_RECT.w).unwrap();
|
|
|
+ prop.set_f32(atom, Role::App, 3, ACTION_PASTE_RECT.h).unwrap();
|
|
|
|
|
|
let node = node.setup(|me| Button::new(me)).await;
|
|
|
- layer_node.clone().link(node.clone());
|
|
|
+ layer_node.link(node.clone());
|
|
|
|
|
|
let (slot, recvr) = Slot::new("paste_clicked");
|
|
|
node.register("click", slot).unwrap();
|