-----------------> ABRA O ARQUIVO MENU.CC



procure a linha: "void calculo_listado_5"





e logo abaixo cole:
Código:
void calculo_listado_6(struct cell_t* int_map, int coln, int rown, int list_x, int list_y, int list_dx, int list_dy, int name_dy, int space_x, int space_y,int curva)
{
	int cell_x = list_x;
	int cell_y = list_y;
	int cell_dx = (list_dx - (coln - 1) * space_x) / coln;
	int cell_dy = name_dy;
	int space_diagonal_x = abs(curva * (rown - 1));
	
	if(curva < 0) cell_x = cell_x + space_diagonal_x;
		

	
	for(int r=0;r<rown;++r) {
		for(int c=0;c<coln;++c) {
			unsigned i = r * coln + c;
			int_map[i].x = cell_x + curva; 
			int_map[i].y = cell_y;
			int_map[i].dx = cell_dx - space_diagonal_x;
			int_map[i].dy = name_dy;
	}
		cell_y += cell_dy + space_y;
		 
		if(curva > 0 || curva < 0)
			if (r < rown/2-1)
				cell_x += curva;
			else if (r > rown/2+1)
				cell_x -= curva;
		
	}
}// julio

procure a linha "int diagonal=0;"




logo abaixo cole:
Código:
int curva = 0; // julio

procure a linha "string list_rows = (*j)->custom_list_rows_get();"



logo abaixo cole:
Código:
//julio
 string list_curva = (*j)->custom_list_curva_get();
 if (list_curva != "" && list_curva != "none")
 curva = atoi(list_curva.c_str());
// fim

procure a linha: "calculo_listado_5(int_map, coln, rown, ui_list_x, ui_list_y, ui_list_dx, ui_list_dy, name_dy, space_x, space_y, diagonal);"




subistitua por :
Código:
     if(curva > 0 || curva < 0 ) calculo_listado_6(int_map, coln, rown, ui_list_x, ui_list_y, ui_list_dx, ui_list_dy, name_dy, space_x, space_y,curva);//julio
       else 
	 calculo_listado_5(int_map, coln, rown, ui_list_x, ui_list_y, ui_list_dx, ui_list_dy, name_dy, space_x, space_y, diagonal);

--------------------------> abra o arquivo LAYOUT.H

procure a linha "std::string custom_list_diagonal;"


cole abaxo:
Código:
std::string custom_list_curva;

procure a linha :
"const std::string& custom_list_diagonal_get() const { return custom_list_diagonal; }"



cole abaixo:
Código:
 void custom_list_curva_set(const std::string& A) { custom_list_curva = A; }
 const std::string& custom_list_curva_get() const { return custom_list_curva; }

procure a linha :
"{ "list_diagonal", "0", &layout::custom_list_diagonal_set },"



cole abaixo:
Código:
{ "list_curva", "0", &layout::custom_list_curva_set },

-------------------------- SALVE TUDO E COMPILE:


arquivo amp e resultado:
obs:numeros positivo arco para direita numeros negativos para esquerda exe:-11



----------------------------LISTA DIAGONAL



a vantagem de fazer assim é que não perde a lista diagonal!
"NÃO É FAÇA GAMBIARRA"