-----------------> 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"


Marcadores