Adding Mode Display

His Dad [06-14-15 - 04:35]
Adding Mode Display
Filename
HistOffline.lua
diff --git a/HistOffline.lua b/HistOffline.lua
index ffa8c3e..7003e77 100644
--- a/HistOffline.lua
+++ b/HistOffline.lua
@@ -198,9 +198,54 @@ end
 			accounts[acc].logtable,
 			iup.fill{}
 			}
-	accounts[acc].tabs =iup.tabs{}  -- Top level of Tabs, Character Info in Here
+	-- Top Level Panels
+	accounts[acc].mode_zbox = iup.zbox{}  -- display main panel containing tabs and dungeons
+	accounts[acc].char_tabs = iup.tabs{}  -- Top level of Char_Tabs, Character Info in Here
+	accounts[acc].dung_tabs = iup.tabs{}  -- Top level of Dung_Tabs, Dungeon  Info in Here

 	accounts[acc].Status_bar = iup.label{title=L.Welcome, expand = "HORIZONTAL"}
+
+	iup.Append(accounts[acc].mode_zbox, accounts[acc].char_tabs)
+	iup.Append(accounts[acc].mode_zbox, accounts[acc].dung_tabs)
+
+  -- Mode Buttons (Toggles)
+  --[[  These control the display.
+   Char mode lists the characters and information for them (default for prior versions)
+   Dung Mode lists the dungeons and which characters have done them.
+   Buttons are arranged in radio mode
+   --]]
+
+  accounts[acc].char_mode = {}
+  accounts[acc].char_mode.tog = iup.toggle{ title = "Characters"}
+  local tog = accounts[acc].char_mode.tog
+  function tog:action(x)
+	if x == 1 then
+	accounts[acc].mode_zbox.value = accounts[acc].char_mode.tog
+	print ("char")
+	end
+  end
+
+  accounts[acc].dung_mode = {}
+  accounts[acc].dung_mode.tog = iup.toggle{ title = "Dungeons"}
+
+  local tog = accounts[acc].dung_mode.tog
+  function tog:action(x)
+	if x == 1 then
+	accounts[acc].mode_zbox.value = accounts[acc].dung_mode.tog
+	print ("dung")
+	end
+  end
+  accounts[acc].mode = iup.frame {
+								iup.radio {
+								iup.hbox{
+										accounts[acc].char_mode.tog,
+										accounts[acc].dung_mode.tog,
+										},
+								value = accounts[acc].dung_mode.tog
+									}
+								}
+  accounts[acc].mode.title =  "Mode"
+  accounts[acc].mode.margin = "15x5"
   -- ====  END Accountwide Data

 -- Creates boxes, stage from names to allow optional sorting in future.
@@ -675,7 +720,7 @@ end


 	 -- ====================================
-	--  == Prepare for the user display tabs
+	--  == Prepare for the character data display tabs
 		me.tab = iup.vbox{
 					["tabtitle"] = char,		-- This vbox will be a tab and the tab text is this

@@ -735,7 +780,7 @@ end
 							},
 					}  -- end of tabs for characters vbox

-		iup.Append(accounts[acc].tabs,me.tab)
+		iup.Append(accounts[acc].char_tabs,me.tab)

 		local panel =(#accounts[acc].names * 90)
 		if panel < 680  then
@@ -747,7 +792,7 @@ end
 	end  -- Chars

 -- Add to end of Characters
-iup.Append(accounts[acc].tabs, accounts[acc].log_tab)
+iup.Append(accounts[acc].char_tabs, accounts[acc].log_tab)
 end -- Accounts

 --print_old()
@@ -781,11 +826,14 @@ myaccount=select_account()

 if myaccount ~=nil then
 	-- Create dialog if not canceled
-	dlg = iup.dialog{iup.vbox{accounts[myaccount].tabs,
+	dlg = iup.dialog{iup.vbox{
+							accounts[myaccount].mode,
+							accounts[myaccount].mode_zbox,
 							iup.hbox{accounts[myaccount].Status_bar,	-- Bottom Status bar.
 									iup.fill{},
 									},
 							margin="5x5",
+							ngap="3",
 							},
 					title=L.title .. myaccount,
 					size=accounts[myaccount].panelsize