Skip to content

Commit

Permalink
Merge pull request #848 from cjee21/sheet-view
Browse files Browse the repository at this point in the history
Windows GUI: Sheet view improvements
  • Loading branch information
JeromeMartinez authored May 29, 2024
2 parents 42b1d87 + 8495dd2 commit ffb97a7
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 ffb97a7

Please sign in to comment.