Browse Source

Improved new 'repita_para'

Igor 4 years ago
parent
commit
b53951a44f

+ 24 - 2
css/ivprog-visual-1.0.css

@@ -160,7 +160,7 @@ body {
 .expression_operand_1, .expression_operand_2, .operator, .div_comment_text, .value_rendered, .parameters_function_called, .parameters_function_called div, .expression_elements,
 .expression_element, .var_rendered, .menu_add_item, .component_element, .component_element, .conditional_expression, .variable_attribution, .attribution_expression, .var_value_expression,
 .incrementation_field, .incrementation_variable, .first_operand, .operator, .second_operand, .variable_to_switch, .variable_case, .button_remove_case, .editing_name_var, .parameter_div_edit,
-.all_elements_write, .container_var_element_control, .inline_add_command, .restart_expression, .div_parent_handler, .div_drag_writer, .single_element_expression, .ghost_parenthesis {
+.all_elements_write, .container_var_element_control, .inline_add_command, .restart_expression, .div_parent_handler, .div_drag_writer, .single_element_expression, .ghost_parenthesis, .pass_button {
 	display: inline;
 }
 
@@ -295,6 +295,7 @@ div.buttons_manage_columns {
 }
 .ui.repeatNtimes .separator_character {
 	margin-right: 10px;
+	margin-left: 15px;
 }
 .ui.repeatNtimes, .ui.whiletrue {
     min-height: 50px;
@@ -565,7 +566,8 @@ div.function_name_div_updated:active,
 .incrementation_field .first_operand:not(:empty),
 .incrementation_field .operator:not(:empty),
 .incrementation_field .second_operand:not(:empty),
-.single_element_expression, .ghost_parenthesis {
+.single_element_expression, .ghost_parenthesis,
+.ui.repeatNtimes .conditional_expression {
 	background: #e8e8e8;
 	border-radius: 5px;
 	min-width: 40px;
@@ -1054,4 +1056,24 @@ div.ui.checkbox.transition.visible {
 
 .settings_topic .content_segment_settings {
 	margin-left: 40px;
+}
+
+.ui.repeatNtimes .span_command_spec {
+	margin-right: 10px;
+}
+
+.ui.repeatNtimes .ui.attribution_expression {
+	margin-right: -10px;
+}
+
+.ui.repeatNtimes .ui.var_value_expression.div_expression_st {
+	margin-left: -10px;
+}
+
+.pass_button {
+	margin-left: 10px;
+}
+
+.pass_button button {
+	padding-bottom: 2px;
 }

+ 1 - 1
i18n/pt/ui.json

@@ -46,7 +46,7 @@
   "text_if":"se",
   "text_break":"pare",
   "text_else":"senao",
-  "text_for":"para",
+  "text_for":"repita_para",
   "text_code_while":"enquanto",
   "text_code_do":"faca",
   "text_command_do":"faça",

+ 18 - 17
js/visualUI/code_generator.js

@@ -237,32 +237,33 @@ function repeatNtimesCode (command_obj, indentation) {
 		ret += '\t';
 	}
 
-	ret += LocalizedStrings.getUI('text_for') + ' ( ';
+	ret += LocalizedStrings.getUI('text_for') + ' ';
 
 	if (command_obj.var_attribution) {
 		ret += variableValueMenuCode(command_obj.var_attribution);
-		ret += ' <- ';
+		ret += ' de ';
 		ret += variableValueMenuCode(command_obj.expression1);
 	}
-	ret += ' ; ';
-
 
 	if (command_obj.expression2) {
-		/*switch (command_obj.expression2.expression.type) {
-			case Models.EXPRESSION_TYPES.exp_logic:
-				ret += logicExpressionCode(command_obj.expression2.expression);
+		ret += ' ate ';
+		ret += variableValueMenuCode(command_obj.expression2);
+	}
+
+	if (command_obj.expression3) {
+		ret += ' passo ';
+		switch (command_obj.expression3.itens[1]) {
+			case Models.ARITHMETIC_TYPES.plus:
+				ret += ' +';
 				break;
-			case Models.EXPRESSION_TYPES.exp_arithmetic:
-				ret += arithmeticExpressionCode(command_obj.expression2.expression);
+			case Models.ARITHMETIC_TYPES.minus:
+				ret += ' -';
 				break;
-		}*/
-
-		ret += elementExpressionCode(command_obj.expression2);
+		}
+		ret += variableValueMenuCode(command_obj.expression3.itens[2]);
 	}
 
-	ret += ' ; ';
-
-	if (command_obj.var_incrementation) {
+	/*if (command_obj.var_incrementation) {
 		ret += variableValueMenuCode(command_obj.var_incrementation);
 		ret += ' <- ';
 		ret += variableValueMenuCode(command_obj.expression3.itens[0]);
@@ -286,9 +287,9 @@ function repeatNtimesCode (command_obj, indentation) {
 		}
 
 		ret += variableValueMenuCode(command_obj.expression3.itens[2]);		
-	}
+	}*/
 
-	ret += ' )  { ';
+	ret += ' { ';
 
 	if (command_obj.commands_block) {
 		for (var i = 0; i < command_obj.commands_block.length; i++) {

+ 3 - 3
js/visualUI/commands.js

@@ -473,17 +473,17 @@ export function genericCreateCommand (command_type) {
 		case Models.COMMAND_TYPES.attribution:
 			return new Models.Attribution(new Models.VariableValueMenu(VariableValueMenuManagement.VAR_OR_VALUE_TYPES.only_variable, null, null, null, false), 
 				[]);
-
+ 
 		case Models.COMMAND_TYPES.functioncall:
 			return new Models.FunctionCall(new Models.VariableValueMenu(VariableValueMenuManagement.VAR_OR_VALUE_TYPES.only_function, null, null, null, false), null);
 
 		case Models.COMMAND_TYPES.iftrue:
 			return new Models.IfTrue([new Models.VariableValueMenu(VariableValueMenuManagement.VAR_OR_VALUE_TYPES.all, null, null, null, true)]);
-
+//(var_attribution, var_incrementation, expression1, expression2, expression3, commands_block)
 		case Models.COMMAND_TYPES.repeatNtimes:
 			return new Models.RepeatNTimes(new Models.VariableValueMenu(VariableValueMenuManagement.VAR_OR_VALUE_TYPES.only_variable, null, null, null, false), 
 											new Models.VariableValueMenu(VariableValueMenuManagement.VAR_OR_VALUE_TYPES.only_variable, null, null, null, false),
-										     null, [new Models.VariableValueMenu(VariableValueMenuManagement.VAR_OR_VALUE_TYPES.all, null, null, null, true)], null, null);
+										     null, new Models.VariableValueMenu(VariableValueMenuManagement.VAR_OR_VALUE_TYPES.all, null, null, null, true), null, null);
 
 		case Models.COMMAND_TYPES.whiletrue:
 			return new Models.WhileTrue([new Models.VariableValueMenu(VariableValueMenuManagement.VAR_OR_VALUE_TYPES.all, null, null, null, true)], null);

File diff suppressed because it is too large
+ 46 - 28
js/visualUI/commands/repeatNtimes.js