primera aproximacion a interfaz

This commit is contained in:
OugonNoHane 2022-11-01 00:24:58 +01:00
commit dbf0ebf76a

View file

@ -448,13 +448,61 @@ int main(int, char**)
isListDirectoriesAdequate = true; isListDirectoriesAdequate = true;
} }
//LA GRAN TABLACIÓN: ACTOR EN LAS SOMBRAS
static ImGuiTableFlags splitterTableFlags = ImGuiTableFlags_Resizable | ImGuiTableFlags_BordersOuter | ImGuiTableFlags_BordersV;
if (ImGui::BeginTable("##splitterTable", 2, splitterTableFlags, ImVec2(-FLT_MIN, 0.8f * ImGui::GetTextLineHeightWithSpacing()))){
ImGui::TableNextRow();
ImGui::TableNextColumn();
//VOLUMENES
static ImGuiTableFlags volumesFlags = ImGuiTableFlags_RowBg | ImGuiTableFlags_ScrollY ;
if (ImGui::BeginTable("##volumesTable", 1, volumesFlags, ImVec2(-FLT_MIN, 20 * ImGui::GetTextLineHeightWithSpacing()))){
ImGui::TableSetupColumn("Volumes", ImGuiTableColumnFlags_NoHide);
//ImGui::TableSetupColumn("Name", ImGuiTableColumnFlags_WidthFixed, TEXT_BASE_WIDTH * 12.0f);
//ImGui::TableSetupColumn("Type", ImGuiTableColumnFlags_WidthFixed, TEXT_BASE_WIDTH * 18.0f);
ImGui::TableHeadersRow();
ImGui::TableNextRow();
if (numVolumes > 0) {
for (int i = 0; i < onPresentPaths.size(); i++) {
ImGui::TableNextColumn();
//if (i > 0) ImGui::SameLine();
// if (debug) std::cout << std::to_string(i) + "<- WE IN" << std::endl;
// ImGui::PushID(i);
ImGui::PushStyleColor(ImGuiCol_Button, (ImVec4)ImColor::HSV(i / 7.0f, 0.6f, 0.6f));
ImGui::PushStyleColor(ImGuiCol_ButtonHovered, (ImVec4)ImColor::HSV(i / 7.0f, 0.7f, 0.7f));
ImGui::PushStyleColor(ImGuiCol_ButtonActive, (ImVec4)ImColor::HSV(i / 7.0f, 0.8f, 0.8f));
if(ImGui::Button(onPresentPaths.at(i))){
moveDirectory(&onPresentPaths.at(i));
isListDirectoriesAdequate = true;
}
ImGui::PopStyleColor(3);
if (i != onPresentPaths.size() - 1) ImGui::TableNextRow();
// ImGui::PopID();
}
}
ImGui::EndTable();
}
ImGui::TableNextColumn();
//DIRECTORIOS ENCONTRADOS bien pinta2 //DIRECTORIOS ENCONTRADOS bien pinta2
if (ImGui::BeginListBox("fpLb", ImVec2(-FLT_MIN, 25 * ImGui::GetTextLineHeightWithSpacing()))){ static ImGuiTableFlags directoriesFlags = ImGuiTableFlags_RowBg | ImGuiTableFlags_Resizable |ImGuiTableFlags_ScrollY ;
if (ImGui::BeginTable("##directoriesTable", 3, directoriesFlags, ImVec2(-FLT_MIN, 20 * ImGui::GetTextLineHeightWithSpacing()))){
ImGui::TableSetupColumn("Name", ImGuiTableColumnFlags_NoHide);
ImGui::TableSetupColumn("Type", ImGuiTableColumnFlags_NoHide);
ImGui::TableSetupColumn("Size", ImGuiTableColumnFlags_NoHide);
//ImGui::TableSetupColumn("Name", ImGuiTableColumnFlags_WidthFixed, TEXT_BASE_WIDTH * 12.0f);
//ImGui::TableSetupColumn("Type", ImGuiTableColumnFlags_WidthFixed, TEXT_BASE_WIDTH * 18.0f);
ImGui::TableHeadersRow();
int idx = 0; int idx = 0;
for (; idx < numFiles; idx++) { for (; idx < numFiles; idx++) {
ImGui::TableNextRow();
ImGui::TableNextColumn();
//const bool isSelected = (currentItemIdx == i); //NAME
bool isSelected = false; bool isSelected = false;
if (ImGui::Selectable(directoryContents.at(idx)->name, &isSelected)){ if (ImGui::Selectable(directoryContents.at(idx)->name, &isSelected)){
//currentItemIdx = i; //currentItemIdx = i;
@ -464,16 +512,39 @@ int main(int, char**)
//currentItemIdx = -1; //currentItemIdx = -1;
isListDirectoriesAdequate = true; isListDirectoriesAdequate = true;
} }
ImGui::TableNextColumn();
//TYPE
if (directoryContents.at(idx)->isFile) ImGui::Text("Folder"); else ImGui::Text("File");
ImGui::TableNextColumn();
//SIZE
if (!directoryContents.at(idx)->isFile) ImGui::Text("%lld bytes", directoryContents.at(idx)->size);
else ImGui::Text("");
//ImGui::SetItemDefaultFocus(); //ImGui::SetItemDefaultFocus();
} }
if (!idx) ImGui::Text("Folder is empty"); if (!idx) { ImGui::TableNextRow(); ImGui::TableNextColumn(); ImGui::Text("Folder is empty"); }
ImGui::EndListBox(); ImGui::EndTable();
} }
ImGui::EndTable();
}
//ImGui::TreePop(); //ImGui::TreePop();
filepickerFailure: filepickerFailure:
ImGui::Button("AAAAAAAAAAAAAAAAAAAAAAAAAQ" );
ImGui::End(); ImGui::End();
} }