Adjust UI proportions to match Java Swing (800x700, toolbar 65px, colors)

This commit is contained in:
accusys
2026-03-29 16:09:02 +08:00
parent 97a9a8d842
commit 1ccc9b86b4

View File

@@ -1,12 +1,14 @@
// RAIDGuard X - Complete GUI Recreation // RAIDGuard X - Complete GUI Recreation
// Mimics Java Swing frmMain.java appearance // Mimics Java Swing frmMain.java appearance
// Based on Java frmMain.java structure (765x700, toolbar 750x65)
export component AppWindow inherits Window { export component AppWindow inherits Window {
title: "RAIDGuard X - DTR RAID Admin"; title: "RAIDGuard X - DTR RAID Admin";
width: 1280px; width: 800px;
height: 800px; height: 700px;
background: #f0f0f0; background: #ece9d8;
// Callbacks
callback connect_server(); callback connect_server();
callback refresh_data(); callback refresh_data();
callback menu_about(); callback menu_about();
@@ -94,210 +96,286 @@ export component AppWindow inherits Window {
in-out property<string> evmsg5: "Power supply online"; in-out property<string> evmsg5: "Power supply online";
in-out property<string> evsource5: "Power"; in-out property<string> evsource5: "Power";
// Main layout
VerticalLayout { VerticalLayout {
spacing: 0; spacing: 0;
// Menu Bar // Menu Bar - matches Java Swing menu
Rectangle { Rectangle {
height: 24px; height: 21px;
background: #f0f0f0; background: #ece9d8;
HorizontalLayout { HorizontalLayout {
spacing: 0;
spacing: 16px; Text {
Text { text: "File"; font-weight: 500; color: #000000; font_size: 13px; } text: "File";
Text { text: "Controller"; font-weight: 500; color: #000000; font_size: 13px; } font_size: 12px;
Text { text: "Tools"; font-weight: 500; color: #000000; font_size: 13px; } color: #000000;
Text { text: "Help"; font-weight: 500; color: #000000; font_size: 13px; } }
Text { width: 12px; }
Text {
text: "Controller";
font_size: 12px;
color: #000000;
}
Text { width: 12px; }
Text {
text: "Tools";
font_size: 12px;
color: #000000;
}
Text { width: 12px; }
Text {
text: "Help";
font_size: 12px;
color: #000000;
}
} }
} }
// Toolbar // Toolbar - matches Java JToolBar (750x65)
Rectangle { Rectangle {
height: 40px; height: 65px;
background: #e8e8e8; background: #ece9d8;
HorizontalLayout { HorizontalLayout {
spacing: 2px;
spacing: 8px; // Add button - matches jbtAddSystem
// Add button with icon
Rectangle { Rectangle {
width: 32px; width: 70px;
height: 32px; height: 50px;
Image { VerticalLayout {
source: @image-url("../icons/func-additem.png"); spacing: 0;
width: 24px; Image {
height: 24px; source: @image-url("../icons/func-additem.png");
width: 32px;
height: 32px;
}
Text { text: "Add"; font_size: 11px; font_weight: 700; color: #000000; }
} }
} }
// Remove button with icon // Remove button
Rectangle { Rectangle {
width: 32px; width: 70px;
height: 32px; height: 50px;
Image { VerticalLayout {
source: @image-url("../icons/func-deleteitem.png"); spacing: 0;
width: 24px; Image {
height: 24px; source: @image-url("../icons/func-deleteitem.png");
width: 32px;
height: 32px;
}
Text { text: "Remove"; font_size: 11px; font_weight: 700; color: #000000; }
} }
} }
Rectangle { width: 10px; } Rectangle { width: 8px; }
// Create button with icon // Create button - matches jbtCreateArray
Rectangle { Rectangle {
width: 90px; width: 70px;
height: 32px; height: 50px;
background: #4a90d9; VerticalLayout {
border-radius: 3px; spacing: 0;
HorizontalLayout {
padding: 4px;
Image { Image {
source: @image-url("../icons/func-createarray.png"); source: @image-url("../icons/func-createarray.png");
width: 20px; width: 32px;
height: 20px; height: 32px;
} }
Text { text: "Create"; font_size: 12px; color: white; vertical-alignment: center; } Text { text: "Create"; font_size: 11px; font_weight: 700; color: #000000; }
} }
} }
// Delete button with icon // Delete button - matches jbtDeleteArray
Rectangle { Rectangle {
width: 80px; width: 70px;
height: 32px; height: 50px;
background: #d94a4a; VerticalLayout {
border-radius: 3px; spacing: 0;
HorizontalLayout {
padding: 4px;
Image { Image {
source: @image-url("../icons/func-deletearray.png"); source: @image-url("../icons/func-deletearray.png");
width: 20px; width: 32px;
height: 20px; height: 32px;
} }
Text { text: "Delete"; font_size: 12px; color: white; vertical-alignment: center; } Text { text: "Delete"; font_size: 11px; font_weight: 700; color: #000000; }
} }
} }
Rectangle { width: 10px; } Rectangle { width: 8px; }
// Email button with icon // Email button - matches jbtEmail
Rectangle { Rectangle {
width: 80px; width: 70px;
height: 32px; height: 50px;
background: #ffffff; VerticalLayout {
border-radius: 3px; spacing: 0;
HorizontalLayout {
padding: 4px;
Image { Image {
source: @image-url("../icons/func-email.png"); source: @image-url("../icons/func-email.png");
width: 20px; width: 32px;
height: 20px; height: 32px;
} }
Text { text: "Email"; font_size: 12px; color: #000000; vertical-alignment: center; } Text { text: "Email"; font_size: 11px; font_weight: 700; color: #000000; }
} }
} }
// Settings button with icon // Settings button - matches jbtSettings
Rectangle { Rectangle {
width: 80px; width: 70px;
height: 32px; height: 50px;
background: #ffffff; VerticalLayout {
border-radius: 3px; spacing: 0;
HorizontalLayout {
padding: 4px;
Image { Image {
source: @image-url("../icons/func-settings.png"); source: @image-url("../icons/func-settings.png");
width: 20px; width: 32px;
height: 20px; height: 32px;
} }
Text { text: "Settings"; font_size: 12px; color: #000000; vertical-alignment: center; } Text { text: "Settings"; font_size: 11px; font_weight: 700; color: #000000; }
} }
} }
Rectangle { width: 1px; }
} }
} }
// Main Content // Separator line
Rectangle {
height: 1px;
background: #a0a0a0;
}
// Main Content Area
HorizontalLayout { HorizontalLayout {
spacing: 0; spacing: 0;
height: 1px; height: 1px;
// Left Panel - Host List // Left Panel - Host List (matches jpHostList ~220px)
Rectangle { Rectangle {
width: 280px; width: 220px;
background: #ffffff; background: #ffffff;
VerticalLayout { VerticalLayout {
padding: 0; padding: 0;
spacing: 0; spacing: 0;
// Header - matches jlHostList
Rectangle { Rectangle {
height: 30px; height: 22px;
background: #d0d0d0; background: #d4d0c8;
Text { text: "Host List"; font-weight: 600; font_size: 13px; color: #000000; vertical-alignment: center; } Text {
} text: "Host List";
Rectangle { font_size: 12px;
height: 24px; font_weight: 700;
background: #e0e0e0; color: #000000;
HorizontalLayout { vertical-alignment: center;
spacing: 4px;
Text { text: "Host"; font_size: 11px; font-weight: 600; width: 70px; }
Text { text: "IP"; font_size: 11px; font-weight: 600; width: 90px; }
Text { text: "Status"; font_size: 11px; font-weight: 600; width: 60px; }
} }
} }
// Table Header - matches jtHostList header
Rectangle { Rectangle {
height: 28px; height: 20px;
background: #c0c0c0; background: #d4d0c8;
HorizontalLayout { HorizontalLayout {
spacing: 2px;
spacing: 4px; Text { text: "Host"; font_size: 11px; font_weight: 700; width: 65px; }
Text { text: ctrl1_name; font_size: 11px; width: 70px; } Text { text: "IP"; font_size: 11px; font_weight: 700; width: 75px; }
Text { text: ctrl1_ip; font_size: 11px; width: 90px; } Text { text: "Status"; font_size: 11px; font_weight: 700; width: 50px; }
Text { text: ctrl1_status; font_size: 11px; color: #008000; width: 60px; }
} }
} }
// Controller Row 1 - matches jtHostList row
Rectangle { Rectangle {
height: 28px; height: 20px;
background: #d4d0c8;
HorizontalLayout {
spacing: 2px;
Text { text: ctrl1_name; font_size: 11px; width: 65px; }
Text { text: ctrl1_ip; font_size: 11px; width: 75px; }
Text { text: ctrl1_status; font_size: 11px; color: #008000; width: 50px; }
}
}
// Controller Row 2
Rectangle {
height: 20px;
background: #ffffff; background: #ffffff;
HorizontalLayout { HorizontalLayout {
spacing: 2px;
spacing: 4px; Text { text: ctrl2_name; font_size: 11px; width: 65px; }
Text { text: ctrl2_name; font_size: 11px; width: 70px; } Text { text: ctrl2_ip; font_size: 11px; width: 75px; }
Text { text: ctrl2_ip; font_size: 11px; width: 90px; } Text { text: ctrl2_status; font_size: 11px; width: 50px; }
Text { text: ctrl2_status; font_size: 11px; width: 60px; }
} }
} }
Rectangle { } Rectangle { }
} }
} }
// Vertical separator
Rectangle {
width: 1px;
background: #a0a0a0;
}
// Right Panel - Tabs // Right Panel - Tabs
VerticalLayout { VerticalLayout {
spacing: 0; spacing: 0;
// Tab Header // Tab Header - matches JTabbedPane
Rectangle { Rectangle {
height: 36px; height: 24px;
background: #d0d0d0; background: #d4d0c8;
HorizontalLayout { HorizontalLayout {
spacing: 0; spacing: 0;
Rectangle {
width: 120px; // Controller Tab
background: current_tab == 0 ? #ffffff : #d0d0d0;
Text { text: "Controller"; font_size: 13px; font-weight: current_tab == 0 ? 600 : 400; horizontal-alignment: center; vertical-alignment: center; }
}
Rectangle { Rectangle {
width: 100px; width: 100px;
background: current_tab == 1 ? #ffffff : #d0d0d0; background: current_tab == 0 ? #ffffff : #d4d0c8;
Text { text: "RAID"; font_size: 13px; font-weight: current_tab == 1 ? 600 : 400; horizontal-alignment: center; vertical-alignment: center; } Text {
text: "Controller";
font_size: 12px;
font_weight: current_tab == 0 ? 700 : 400;
horizontal-alignment: center;
vertical-alignment: center;
}
} }
// RAID Tab
Rectangle { Rectangle {
width: 100px; width: 80px;
background: current_tab == 2 ? #ffffff : #d0d0d0; background: current_tab == 1 ? #ffffff : #d4d0c8;
Text { text: "Drives"; font_size: 13px; font-weight: current_tab == 2 ? 600 : 400; horizontal-alignment: center; vertical-alignment: center; } Text {
text: "RAID";
font_size: 12px;
font_weight: current_tab == 1 ? 700 : 400;
horizontal-alignment: center;
vertical-alignment: center;
}
} }
// Drives Tab
Rectangle { Rectangle {
width: 100px; width: 80px;
background: current_tab == 3 ? #ffffff : #d0d0d0; background: current_tab == 2 ? #ffffff : #d4d0c8;
Text { text: "Event"; font_size: 13px; font-weight: current_tab == 3 ? 600 : 400; horizontal-alignment: center; vertical-alignment: center; } Text {
text: "Drives";
font_size: 12px;
font_weight: current_tab == 2 ? 700 : 400;
horizontal-alignment: center;
vertical-alignment: center;
}
}
// Event Tab
Rectangle {
width: 80px;
background: current_tab == 3 ? #ffffff : #d4d0c8;
Text {
text: "Event";
font_size: 12px;
font_weight: current_tab == 3 ? 700 : 400;
horizontal-alignment: center;
vertical-alignment: center;
}
} }
} }
} }
@@ -307,33 +385,34 @@ export component AppWindow inherits Window {
background: #ffffff; background: #ffffff;
height: 1px; height: 1px;
// Controller Tab // Controller Tab - matches jpController layout
if current_tab == 0: VerticalLayout { if current_tab == 0: VerticalLayout {
padding: 10px;
spacing: 8px;
spacing: 12px;
Rectangle { Rectangle {
background: #f0f0f0; background: #ffffff;
VerticalLayout { VerticalLayout {
spacing: 8px; spacing: 4px;
Text { text: "Controller Information"; font-weight: 600; font_size: 14px; } Text { text: "Controller Information"; font_size: 12px; font_weight: 700; }
Rectangle { height: 8px; }
HorizontalLayout { HorizontalLayout {
spacing: 12px; spacing: 20px;
VerticalLayout { spacing: 6px; VerticalLayout { spacing: 3px;
Text { text: "Controller Name:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } Text { text: "Controller Name:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; }
Text { text: "Model Name:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } Text { text: "Model Name:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; }
Text { text: "Serial Number:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } Text { text: "Serial Number:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; }
Text { text: "Firmware Version:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } Text { text: "Firmware Version:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; }
Text { text: "BIOS Version:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } Text { text: "BIOS Version:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; }
Text { text: "Status:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } Text { text: "Status:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; }
} }
VerticalLayout { spacing: 6px; VerticalLayout { spacing: 3px;
Text { text: ctrl1_name; font_size: 12px; } Text { text: ctrl1_name; font_size: 11px; }
Text { text: ctrl1_model; font_size: 12px; } Text { text: ctrl1_model; font_size: 11px; }
Text { text: ctrl1_sn; font_size: 12px; } Text { text: ctrl1_sn; font_size: 11px; }
Text { text: ctrl1_firmware; font_size: 12px; } Text { text: ctrl1_firmware; font_size: 11px; }
Text { text: "1.2.3.4"; font_size: 12px; } Text { text: "1.2.3.4"; font_size: 11px; }
Text { text: ctrl1_status; font_size: 12px; color: #008000; } Text { text: ctrl1_status; font_size: 11px; color: #008000; }
} }
} }
} }
@@ -342,52 +421,52 @@ export component AppWindow inherits Window {
// RAID Tab // RAID Tab
if current_tab == 1: VerticalLayout { if current_tab == 1: VerticalLayout {
padding: 10px;
spacing: 8px;
spacing: 12px;
Rectangle { Rectangle {
background: #f0f0f0; background: #ffffff;
VerticalLayout { VerticalLayout {
spacing: 8px; spacing: 4px;
HorizontalLayout { HorizontalLayout {
Text { text: raid1_name; font-weight: 600; font_size: 14px; } Text { text: raid1_name; font_size: 12px; font_weight: 700; }
Text { text: raid1_status; font_size: 12px; color: #008000; } Text { text: raid1_status; font_size: 11px; color: #008000; }
} }
HorizontalLayout { HorizontalLayout {
spacing: 12px; spacing: 20px;
VerticalLayout { spacing: 6px; VerticalLayout { spacing: 3px;
Text { text: "RAID Level:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } Text { text: "RAID Level:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; }
Text { text: "Capacity:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } Text { text: "Capacity:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; }
Text { text: "Usage:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } Text { text: "Usage:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; }
} }
VerticalLayout { spacing: 6px; VerticalLayout { spacing: 3px;
Text { text: raid1_level; font_size: 12px; } Text { text: raid1_level; font_size: 11px; }
Text { text: raid1_capacity; font_size: 12px; } Text { text: raid1_capacity; font_size: 11px; }
Text { text: raid1_usage; font_size: 12px; } Text { text: raid1_usage; font_size: 11px; }
} }
} }
} }
} }
Rectangle { Rectangle {
background: #f0f0f0; background: #ffffff;
VerticalLayout { VerticalLayout {
spacing: 8px; spacing: 4px;
HorizontalLayout { HorizontalLayout {
Text { text: raid2_name; font_weight: 600; font_size: 14px; } Text { text: raid2_name; font_size: 12px; font_weight: 700; }
Text { text: raid2_status; font_size: 12px; color: #008000; } Text { text: raid2_status; font_size: 11px; color: #008000; }
} }
HorizontalLayout { HorizontalLayout {
spacing: 12px; spacing: 20px;
VerticalLayout { spacing: 6px; VerticalLayout { spacing: 3px;
Text { text: "RAID Level:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } Text { text: "RAID Level:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; }
Text { text: "Capacity:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } Text { text: "Capacity:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; }
Text { text: "Usage:"; font_size: 12px; font-weight: 600; horizontal-alignment: right; } Text { text: "Usage:"; font_size: 11px; font_weight: 700; horizontal-alignment: right; }
} }
VerticalLayout { spacing: 6px; VerticalLayout { spacing: 3px;
Text { text: raid2_level; font_size: 12px; } Text { text: raid2_level; font_size: 11px; }
Text { text: raid2_capacity; font_size: 12px; } Text { text: raid2_capacity; font_size: 11px; }
Text { text: raid2_usage; font_size: 12px; } Text { text: raid2_usage; font_size: 11px; }
} }
} }
} }
@@ -396,149 +475,149 @@ export component AppWindow inherits Window {
// Drives Tab // Drives Tab
if current_tab == 2: VerticalLayout { if current_tab == 2: VerticalLayout {
padding: 4px;
spacing: 2px;
spacing: 4px;
Rectangle { Rectangle {
height: 28px; height: 20px;
background: #e0e0e0; background: #d4d0c8;
HorizontalLayout { HorizontalLayout {
spacing: 8px;
spacing: 16px; Text { text: "Location"; font_size: 11px; font_weight: 700; width: 120px; }
Text { text: "Location"; font_size: 11px; font-weight: 600; width: 140px; } Text { text: "Vendor"; font_size: 11px; font_weight: 700; width: 80px; }
Text { text: "Vendor"; font_size: 11px; font-weight: 600; width: 100px; } Text { text: "Model"; font_size: 11px; font_weight: 700; width: 140px; }
Text { text: "Model"; font_size: 11px; font-weight: 600; width: 160px; } Text { text: "Capacity"; font_size: 11px; font_weight: 700; width: 70px; }
Text { text: "Capacity"; font_size: 11px; font-weight: 600; width: 80px; } Text { text: "Status"; font_size: 11px; font_weight: 700; width: 60px; }
Text { text: "Status"; font_size: 11px; font-weight: 600; width: 80px; }
} }
} }
Rectangle { Rectangle {
height: 26px; height: 20px;
background: #f0f0f0; background: #d4d0c8;
HorizontalLayout { HorizontalLayout {
spacing: 8px;
spacing: 16px; Text { text: disk1_loc; font_size: 11px; width: 120px; }
Text { text: disk1_loc; font_size: 11px; width: 140px; } Text { text: disk1_vendor; font_size: 11px; width: 80px; }
Text { text: disk1_vendor; font_size: 11px; width: 100px; } Text { text: disk1_model; font_size: 11px; width: 140px; }
Text { text: disk1_model; font_size: 11px; width: 160px; } Text { text: disk1_capacity; font_size: 11px; width: 70px; }
Text { text: disk1_capacity; font_size: 11px; width: 80px; } Text { text: disk1_status; font_size: 11px; color: #008000; width: 60px; }
Text { text: disk1_status; font_size: 11px; color: #008000; width: 80px; }
} }
} }
Rectangle { Rectangle {
height: 26px; height: 20px;
background: #ffffff; background: #ffffff;
HorizontalLayout { HorizontalLayout {
spacing: 8px;
spacing: 16px; Text { text: disk2_loc; font_size: 11px; width: 120px; }
Text { text: disk2_loc; font_size: 11px; width: 140px; } Text { text: disk2_vendor; font_size: 11px; width: 80px; }
Text { text: disk2_vendor; font_size: 11px; width: 100px; } Text { text: disk2_model; font_size: 11px; width: 140px; }
Text { text: disk2_model; font_size: 11px; width: 160px; } Text { text: disk2_capacity; font_size: 11px; width: 70px; }
Text { text: disk2_capacity; font_size: 11px; width: 80px; } Text { text: disk2_status; font_size: 11px; color: #008000; width: 60px; }
Text { text: disk2_status; font_size: 11px; color: #008000; width: 80px; }
} }
} }
Rectangle { Rectangle {
height: 26px; height: 20px;
background: #f0f0f0; background: #d4d0c8;
HorizontalLayout { HorizontalLayout {
spacing: 8px;
spacing: 16px; Text { text: disk3_loc; font_size: 11px; width: 120px; }
Text { text: disk3_loc; font_size: 11px; width: 140px; } Text { text: disk3_vendor; font_size: 11px; width: 80px; }
Text { text: disk3_vendor; font_size: 11px; width: 100px; } Text { text: disk3_model; font_size: 11px; width: 140px; }
Text { text: disk3_model; font_size: 11px; width: 160px; } Text { text: disk3_capacity; font_size: 11px; width: 70px; }
Text { text: disk3_capacity; font_size: 11px; width: 80px; } Text { text: disk3_status; font_size: 11px; color: #008000; width: 60px; }
Text { text: disk3_status; font_size: 11px; color: #008000; width: 80px; }
} }
} }
Rectangle { Rectangle {
height: 26px; height: 20px;
background: #ffffff; background: #ffffff;
HorizontalLayout { HorizontalLayout {
spacing: 8px;
spacing: 16px; Text { text: disk4_loc; font_size: 11px; width: 120px; }
Text { text: disk4_loc; font_size: 11px; width: 140px; } Text { text: disk4_vendor; font_size: 11px; width: 80px; }
Text { text: disk4_vendor; font_size: 11px; width: 100px; } Text { text: disk4_model; font_size: 11px; width: 140px; }
Text { text: disk4_model; font_size: 11px; width: 160px; } Text { text: disk4_capacity; font_size: 11px; width: 70px; }
Text { text: disk4_capacity; font_size: 11px; width: 80px; } Text { text: disk4_status; font_size: 11px; color: #008000; width: 60px; }
Text { text: disk4_status; font_size: 11px; color: #008000; width: 80px; }
} }
} }
} }
// Event Tab // Event Tab
if current_tab == 3: VerticalLayout { if current_tab == 3: VerticalLayout {
padding: 4px;
spacing: 2px;
spacing: 4px;
Rectangle { Rectangle {
height: 28px; height: 20px;
background: #e0e0e0; background: #d4d0c8;
HorizontalLayout { HorizontalLayout {
spacing: 8px; spacing: 8px;
Text { text: "Date/Time"; font_size: 11px; font-weight: 600; width: 140px; } Text { text: "Date/Time"; font_size: 11px; font_weight: 700; width: 130px; }
Text { text: "Level"; font_size: 11px; font-weight: 600; width: 60px; } Text { text: "Level"; font_size: 11px; font_weight: 700; width: 50px; }
Text { text: "Source"; font_size: 11px; font-weight: 600; width: 80px; } Text { text: "Source"; font_size: 11px; font_weight: 700; width: 60px; }
Text { text: "Message"; font_size: 11px; font-weight: 600; width: 400px; } Text { text: "Message"; font_size: 11px; font_weight: 700; width: 300px; }
} }
} }
Rectangle { Rectangle {
height: 24px; height: 18px;
background: #f0f0f0; background: #d4d0c8;
HorizontalLayout { HorizontalLayout {
spacing: 8px; spacing: 8px;
Text { text: evtime1; font_size: 11px; width: 140px; } Text { text: evtime1; font_size: 11px; width: 130px; }
Text { text: evlevel1; font_size: 11px; color: #008000; width: 60px; } Text { text: evlevel1; font_size: 11px; color: #008000; width: 50px; }
Text { text: evsource1; font_size: 11px; width: 80px; } Text { text: evsource1; font_size: 11px; width: 60px; }
Text { text: evmsg1; font_size: 11px; width: 400px; } Text { text: evmsg1; font_size: 11px; width: 300px; }
} }
} }
Rectangle { Rectangle {
height: 24px; height: 18px;
background: #ffffff; background: #ffffff;
HorizontalLayout { HorizontalLayout {
spacing: 8px; spacing: 8px;
Text { text: evtime2; font_size: 11px; width: 140px; } Text { text: evtime2; font_size: 11px; width: 130px; }
Text { text: evlevel2; font_size: 11px; color: #008000; width: 60px; } Text { text: evlevel2; font_size: 11px; color: #008000; width: 50px; }
Text { text: evsource2; font_size: 11px; width: 80px; } Text { text: evsource2; font_size: 11px; width: 60px; }
Text { text: evmsg2; font_size: 11px; width: 400px; } Text { text: evmsg2; font_size: 11px; width: 300px; }
} }
} }
Rectangle { Rectangle {
height: 24px; height: 18px;
background: #f0f0f0; background: #d4d0c8;
HorizontalLayout { HorizontalLayout {
spacing: 8px; spacing: 8px;
Text { text: evtime3; font_size: 11px; width: 140px; } Text { text: evtime3; font_size: 11px; width: 130px; }
Text { text: evlevel3; font_size: 11px; color: #ffa500; width: 60px; } Text { text: evlevel3; font_size: 11px; color: #ffa500; width: 50px; }
Text { text: evsource3; font_size: 11px; width: 80px; } Text { text: evsource3; font_size: 11px; width: 60px; }
Text { text: evmsg3; font_size: 11px; width: 400px; } Text { text: evmsg3; font_size: 11px; width: 300px; }
} }
} }
Rectangle { Rectangle {
height: 24px; height: 18px;
background: #ffffff; background: #ffffff;
HorizontalLayout { HorizontalLayout {
spacing: 8px; spacing: 8px;
Text { text: evtime4; font_size: 11px; width: 140px; } Text { text: evtime4; font_size: 11px; width: 130px; }
Text { text: evlevel4; font_size: 11px; color: #008000; width: 60px; } Text { text: evlevel4; font_size: 11px; color: #008000; width: 50px; }
Text { text: evsource4; font_size: 11px; width: 80px; } Text { text: evsource4; font_size: 11px; width: 60px; }
Text { text: evmsg4; font_size: 11px; width: 400px; } Text { text: evmsg4; font_size: 11px; width: 300px; }
} }
} }
Rectangle { Rectangle {
height: 24px; height: 18px;
background: #f0f0f0; background: #d4d0c8;
HorizontalLayout { HorizontalLayout {
spacing: 8px; spacing: 8px;
Text { text: evtime5; font_size: 11px; width: 140px; } Text { text: evtime5; font_size: 11px; width: 130px; }
Text { text: evlevel5; font_size: 11px; color: #008000; width: 60px; } Text { text: evlevel5; font_size: 11px; color: #008000; width: 50px; }
Text { text: evsource5; font_size: 11px; width: 80px; } Text { text: evsource5; font_size: 11px; width: 60px; }
Text { text: evmsg5; font_size: 11px; width: 400px; } Text { text: evmsg5; font_size: 11px; width: 300px; }
} }
} }
} }
@@ -546,19 +625,38 @@ export component AppWindow inherits Window {
} }
} }
// Status Bar // Status Bar - matches Java status bar
Rectangle { Rectangle {
height: 26px; height: 22px;
background: #d0d0d0; background: #d4d0c8;
HorizontalLayout { HorizontalLayout {
spacing: 16px; spacing: 16px;
Text { text: "Controllers: " + controller_count; font_size: 11px; color: #000000; } Text {
Text { text: "RAID Arrays: " + raid_count; font_size: 11px; color: #000000; } text: "Controllers: " + controller_count;
Text { text: "Drives: " + disk_count; font_size: 11px; color: #000000; } font_size: 11px;
Rectangle { width: 300px; } color: #000000;
Text { text: "Auto Refresh: " + (auto_refresh ? "On" : "Off"); font_size: 11px; color: #000000; } }
Text { text: status_text; font_size: 11px; color: connected ? #008000 : #ff0000; } Text {
text: "RAID Arrays: " + raid_count;
font_size: 11px;
color: #000000;
}
Text {
text: "Drives: " + disk_count;
font_size: 11px;
color: #000000;
}
Rectangle { width: 100px; }
Text {
text: "Auto Refresh: " + (auto_refresh ? "On" : "Off");
font_size: 11px;
color: #000000;
}
Text {
text: status_text;
font_size: 11px;
color: connected ? #008000 : #ff0000;
}
} }
} }
} }