Browse Source

Columns: Added ImGuiColumnsFlags_NoResize flag (internal). (#913, #125)

omar 8 years ago
parent
commit
7f0063f858
2 changed files with 14 additions and 10 deletions
  1. 11 8
      imgui.cpp
  2. 3 2
      imgui_internal.h

+ 11 - 8
imgui.cpp

@@ -10100,14 +10100,17 @@ void ImGui::EndColumns()
 			if (IsClippedEx(column_rect, &column_id, false))
 				continue;
             
-            bool hovered, held;
-			ButtonBehavior(column_rect, column_id, &hovered, &held);
-			if (hovered || held)
-				g.MouseCursor = ImGuiMouseCursor_ResizeEW;
-            if (held && g.ActiveIdIsJustActivated)
-                g.ActiveIdClickOffset.x -= column_w; // Store from center of column line (we used a 8 wide rect for columns clicking). This is used by GetDraggedColumnOffset().
-            if (held)
-                dragging_column = i;
+            bool hovered = false, held = false;
+            if (!(window->DC.ColumnsFlags & ImGuiColumnsFlags_NoResize))
+            {
+                ButtonBehavior(column_rect, column_id, &hovered, &held);
+                if (hovered || held)
+                    g.MouseCursor = ImGuiMouseCursor_ResizeEW;
+                if (held && g.ActiveIdIsJustActivated)
+                    g.ActiveIdClickOffset.x -= column_w; // Store from center of column line (we used a 8 wide rect for columns clicking). This is used by GetDraggedColumnOffset().
+                if (held)
+                    dragging_column = i;
+            }
 
             // Draw column
             const ImU32 col = GetColorU32(held ? ImGuiCol_SeparatorActive : hovered ? ImGuiCol_SeparatorHovered : ImGuiCol_Separator);

+ 3 - 2
imgui_internal.h

@@ -187,8 +187,9 @@ enum ImGuiColumnsFlags_
 {
     // Default: 0
     ImGuiColumnsFlags_NoBorder              = 1 << 0,   // Disable column dividers
-    ImGuiColumnsFlags_NoPreserveWidths      = 1 << 1,   // Disable column width preservation when adjusting columns
-    ImGuiColumnsFlags_NoForceWithinWindow   = 1 << 2    // Disable forcing columns to fit within window
+    ImGuiColumnsFlags_NoResize              = 1 << 1,   // Disable resizing columns when clicking on the dividers
+    ImGuiColumnsFlags_NoPreserveWidths      = 1 << 2,   // Disable column width preservation when adjusting columns
+    ImGuiColumnsFlags_NoForceWithinWindow   = 1 << 3    // Disable forcing columns to fit within window
 };
 
 enum ImGuiSelectableFlagsPrivate_