Skip to content

Commit

Permalink
Windows GUI: Sheet view improvements
Browse files Browse the repository at this point in the history
Change sheet view default split ratio and make it resizable. Also change default monospaced font to match other views.
  • Loading branch information
cjee21 committed May 29, 2024
1 parent 42b1d87 commit 8495dd2
Show file tree
Hide file tree
Showing 3 changed files with 197 additions and 149 deletions.
60 changes: 37 additions & 23 deletions Source/GUI/VCL/GUI_Main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,7 @@ __fastcall TMainF::TMainF(TComponent* Owner)
monoFont->Size = 10;
Page_Text_Text->Font = monoFont;
Page_Custom_Text->Font = monoFont;
Page_Sheet_Text->Font = monoFont;
}
}

Expand Down Expand Up @@ -421,31 +422,9 @@ void __fastcall TMainF::FormResize(TObject *Sender)
//Page - Sheet
else if (Page->ActivePage==Page_Sheet)
{
//Bottom
Page_Sheet_Text->Width=Page_Sheet->ClientWidth;
Page_Sheet_Text->Top =Page_Sheet->ClientHeight-Page_Sheet_Text->Height;

//Streams
for (int KindOfStream=Stream_Max-1; KindOfStream>=0; KindOfStream--)
{
if (Page_Sheet_X[KindOfStream])
{
if (KindOfStream!=Stream_Max-1 && Page_Sheet_X[KindOfStream+1])
Page_Sheet_X[KindOfStream]->Top =Page_Sheet_X[KindOfStream+1]->Top-Page_Sheet_X[KindOfStream]->Height;
else
Page_Sheet_X[KindOfStream]->Top =Page_Sheet_Text->Top-Page_Sheet_X[KindOfStream]->Height; //1st stream, need reference
Page_Sheet_X[KindOfStream]->Width =Page_Sheet->ClientWidth-Page_Sheet_X_Web[KindOfStream]->Width;
if (Page_Sheet_X_Web[KindOfStream])
{
Page_Sheet_X_Web[KindOfStream]->Top =Page_Sheet_X[KindOfStream]->Top+1;
Page_Sheet_X_Web[KindOfStream]->Left=Page_Sheet_X[KindOfStream]->Width;
}
}
}

//Sheet
Page_Sheet_Sheet->Width =Page_Sheet->ClientWidth;
Page_Sheet_Sheet->Height=Page_Sheet_G->Top;
Page_Sheet_Sheet->Height=Page_Sheet_Panel1->Height;

//Columns
//-Calculate total width
Expand All @@ -463,6 +442,31 @@ void __fastcall TMainF::FormResize(TObject *Sender)
Ztring Z1=__T("Column"); Z1+=Ztring::ToZtring(Pos);
Page_Sheet_Sheet->ColWidths[Pos]=Prefs->Details[Prefs_Sheet](Z1, 4).To_int32s()*Page_Sheet_Sheet->ClientWidth/Total-1;
}

//Streams
for (int KindOfStream=0; KindOfStream<Stream_Max; ++KindOfStream)
{
if (Page_Sheet_X[KindOfStream])
{
if (KindOfStream!=0 && Page_Sheet_X[KindOfStream-1])
Page_Sheet_X[KindOfStream]->Top =Page_Sheet_X[KindOfStream-1]->Top+Page_Sheet_X[KindOfStream-1]->Height;
else
Page_Sheet_X[KindOfStream]->Top =0; //1st stream, need reference
Page_Sheet_X[KindOfStream]->Width =Page_Sheet->ClientWidth-Page_Sheet_X_Web[KindOfStream]->Width;
if (Page_Sheet_X_Web[KindOfStream])
{
Page_Sheet_X_Web[KindOfStream]->Top =Page_Sheet_X[KindOfStream]->Top+1;
Page_Sheet_X_Web[KindOfStream]->Left=Page_Sheet_X[KindOfStream]->Width;
}
if (!Page_Sheet_X[KindOfStream+1]) //reached the bottom
{
//Bottom
Page_Sheet_Text->Width =Page_Sheet->ClientWidth;
Page_Sheet_Text->Top =Page_Sheet_X[KindOfStream]->Top+Page_Sheet_X[KindOfStream]->Height;
Page_Sheet_Text->Height=Page_Sheet_Panel2->Height-(Page_Sheet_X[KindOfStream]->Top+Page_Sheet_X[KindOfStream]->Height);
}
}
}
}

//Page - Tree
Expand Down Expand Up @@ -1838,6 +1842,10 @@ void __fastcall TMainF::Page_Sheet_Change(TObject *Sender)
}

I->Option(__T("Inform"), __T(""));

//Set language again to ensure proper display in case it was changed to XML etc.
I->Option_Static(__T("Language"), Prefs->Details[Prefs_Language].Read());

Page_Sheet_Text->Text=I->Get(Page_Position, (stream_t)KindOfStream, I1, __T("Inform")).c_str();
}

Expand Down Expand Up @@ -2072,3 +2080,9 @@ void __fastcall TMainF::DestroyWnd()
DragAcceptFiles(Handle, false);
TForm::DestroyWnd();
}

//---------------------------------------------------------------------------
void __fastcall TMainF::Page_Sheet_Splitter1Moved(TObject *Sender)
{
FormResize(NULL);
}
282 changes: 156 additions & 126 deletions Source/GUI/VCL/GUI_Main.dfm
Original file line number Diff line number Diff line change
Expand Up @@ -474,137 +474,167 @@ object MainF: TMainF
ImageIndex = 2
ParentShowHint = False
ShowHint = False
object Page_Sheet_A_Web: TButton
Left = 566
Top = 173
Width = 38
Height = 21
Hint = 'Go to the Web site for this codec'
Caption = 'Web'
Enabled = False
TabOrder = 0
OnClick = Page_Sheet_WebClick
end
object Page_Sheet_V_Web: TButton
Left = 566
Top = 152
Width = 38
Height = 20
Hint = 'Go to the Web site for this codec'
Caption = 'Web'
Enabled = False
TabOrder = 1
OnClick = Page_Sheet_WebClick
end
object Page_Sheet_G_Web: TButton
Left = 566
Top = 130
Width = 38
Height = 20
Hint = 'Go to the web site of a player for this file'
Caption = 'Web'
Enabled = False
TabOrder = 2
OnClick = Page_Sheet_WebClick
end
object Page_Sheet_T: TComboBox
Left = 0
Top = 198
Width = 561
Height = 23
Enabled = False
TabOrder = 3
OnChange = Page_Sheet_Change
OnEnter = Page_Sheet_Change
end
object Page_Sheet_T_Web: TButton
Left = 566
Top = 199
Width = 38
Height = 20
Hint = 'Go to the Web site for this codec'
Caption = 'Web'
Enabled = False
TabOrder = 4
OnClick = Page_Sheet_WebClick
end
object Page_Sheet_C: TComboBox
Left = 0
Top = 224
Width = 561
Height = 23
Enabled = False
TabOrder = 5
OnChange = Page_Sheet_Change
OnEnter = Page_Sheet_Change
end
object Page_Sheet_C_Web: TButton
Left = 566
Top = 225
Width = 38
Height = 20
Hint = 'Go to the Web site for this codec'
Caption = 'Web'
Enabled = False
TabOrder = 6
OnClick = Page_Sheet_WebClick
end
object Page_Sheet_Text: TMemo
Left = 0
Top = 248
Width = 604
Height = 105
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'System'
Font.Pitch = fpFixed
Font.Style = []
ParentFont = False
ScrollBars = ssVertical
TabOrder = 7
end
object Page_Sheet_G: TComboBox
Left = 0
Top = 127
Width = 561
Height = 23
TabOrder = 8
OnChange = Page_Sheet_Change
OnEnter = Page_Sheet_Change
end
object Page_Sheet_V: TComboBox
Left = 0
Top = 149
Width = 561
Height = 23
Enabled = False
TabOrder = 9
OnChange = Page_Sheet_Change
OnEnter = Page_Sheet_Change
end
object Page_Sheet_A: TComboBox
object Page_Sheet_Splitter1: TSplitter
Left = 0
Top = 173
Width = 561
Height = 23
Enabled = False
TabOrder = 10
OnChange = Page_Sheet_Change
OnEnter = Page_Sheet_Change
Top = 121
Width = 682
Height = 3
Cursor = crVSplit
Align = alTop
AutoSnap = False
MinSize = 120
OnMoved = Page_Sheet_Splitter1Moved
ExplicitWidth = 234
end
object Page_Sheet_Sheet: TStringGrid
object Page_Sheet_Panel1: TPanel
Left = 0
Top = 0
Width = 604
Width = 682
Height = 121
DefaultRowHeight = 16
FixedCols = 0
RowCount = 2
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goColSizing, goRowSelect]
TabOrder = 11
OnSelectCell = Page_Sheet_SheetSelectCell
Align = alTop
Caption = 'Page_Sheet_Panel1'
TabOrder = 0
object Page_Sheet_Sheet: TStringGrid
Left = 1
Top = 1
Width = 604
Height = 118
DefaultRowHeight = 16
FixedCols = 0
RowCount = 2
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goColSizing, goRowSelect]
TabOrder = 0
OnSelectCell = Page_Sheet_SheetSelectCell
end
end
object Page_Sheet_Panel2: TPanel
Left = 0
Top = 124
Width = 682
Height = 231
Align = alClient
Caption = 'Page_Sheet_Panel2'
TabOrder = 1
object Page_Sheet_A: TComboBox
Left = 1
Top = 49
Width = 561
Height = 23
Enabled = False
TabOrder = 0
OnChange = Page_Sheet_Change
OnEnter = Page_Sheet_Change
end
object Page_Sheet_A_Web: TButton
Left = 567
Top = 50
Width = 38
Height = 21
Hint = 'Go to the Web site for this codec'
Caption = 'Web'
Enabled = False
TabOrder = 1
OnClick = Page_Sheet_WebClick
end
object Page_Sheet_C: TComboBox
Left = 1
Top = 97
Width = 561
Height = 23
Enabled = False
TabOrder = 2
OnChange = Page_Sheet_Change
OnEnter = Page_Sheet_Change
end
object Page_Sheet_C_Web: TButton
Left = 567
Top = 99
Width = 38
Height = 20
Hint = 'Go to the Web site for this codec'
Caption = 'Web'
Enabled = False
TabOrder = 3
OnClick = Page_Sheet_WebClick
end
object Page_Sheet_G: TComboBox
Left = 1
Top = 1
Width = 561
Height = 23
TabOrder = 4
OnChange = Page_Sheet_Change
OnEnter = Page_Sheet_Change
end
object Page_Sheet_G_Web: TButton
Left = 567
Top = 3
Width = 38
Height = 20
Hint = 'Go to the web site of a player for this file'
Caption = 'Web'
Enabled = False
TabOrder = 5
OnClick = Page_Sheet_WebClick
end
object Page_Sheet_T: TComboBox
Left = 1
Top = 73
Width = 561
Height = 23
Enabled = False
TabOrder = 6
OnChange = Page_Sheet_Change
OnEnter = Page_Sheet_Change
end
object Page_Sheet_T_Web: TButton
Left = 567
Top = 75
Width = 38
Height = 20
Hint = 'Go to the Web site for this codec'
Caption = 'Web'
Enabled = False
TabOrder = 7
OnClick = Page_Sheet_WebClick
end
object Page_Sheet_Text: TMemo
Left = 1
Top = 121
Width = 604
Height = 104
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'System'
Font.Pitch = fpFixed
Font.Style = []
ParentFont = False
ScrollBars = ssVertical
TabOrder = 8
end
object Page_Sheet_V: TComboBox
Left = 1
Top = 25
Width = 561
Height = 23
Enabled = False
TabOrder = 9
OnChange = Page_Sheet_Change
OnEnter = Page_Sheet_Change
end
object Page_Sheet_V_Web: TButton
Left = 567
Top = 27
Width = 38
Height = 20
Hint = 'Go to the Web site for this codec'
Caption = 'Web'
Enabled = False
TabOrder = 10
OnClick = Page_Sheet_WebClick
end
end
end
object Page_Tree: TTabSheet
Expand Down
Loading

0 comments on commit 8495dd2

Please sign in to comment.