var
MainForm:tclForm;
TitlePnl,NavbarPnl,StocksCategoryPnl,StocksPnl,OpacityPnl,AddEditStockPopUp:TclProPanel;
TitleLbl,ItemPieceValueLbl,ItemPieceLbl,CategoryNameLbl,ItemPriceLbl,StocksNameLbl,SupplyTimeLbl,SupplyTimeValueLbl,Piecelbl,PieceXlbl,PieceValuelbl,AddStockLbl,EditStockLbl:TClProLabel;
HomeBtn,BackBtn,SortBtn,AddStockBtn,DetailsBtn,EditStockBtn,CloseBtn,AddBtn:TClProButton;
CategoryItemImage,StocksImage:TClProImage;
StocksCategoryCount:integer;
vScroll:TCLVertScrollBox;
StocksCount:integer;
AllCategoriesOpen: boolean;
void SetObjectMargins(AObject,AValue)
{
AObject.Margins.Top = AValue;
AObject.Margins.Bottom = AValue;
AObject.Margins.Left = AValue;
AObject.Margins.Right = AValue;
}
function IconSelect(IconUI):String
var
Output: String;
{
case IconUI of
{
'ClosmosyLogo':Output = ' https://resmim.net/cdn/2025/10/22/jV6v6Q.png" rel="nofollow - https://resmim.net/cdn/2025/10/22/jV6v6Q.png ';
'AdminManagementBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju0eoT.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju0eoT.png ';
'BackArrowBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1STG.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1STG.png ';
'HomePageBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1fIT.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1fIT.png ';
'ItemsBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1mZL.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1mZL.png ';
'ManagementBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1Tqh.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1Tqh.png ';
'OrderChecklistBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1jdK.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1jdK.png ';
'OrdersBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1CGQ.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1CGQ.png ';
'QRBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1kI7.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1kI7.png ';
'SaveBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1gBc.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1gBc.png ';
'ShiftBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju18QR.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju18QR.png ';
'ShiftsBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1Bzj.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1Bzj.png ';
'SortBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1rXI.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1rXI.png ';
'StocksBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju15f6.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju15f6.png ';
'TablesBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1RK8.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1RK8.png ';
'ItemBookBtnUI':Output = ' https://resmim.net/cdn/2025/10/30/jJzG6h.png" rel="nofollow - https://resmim.net/cdn/2025/10/30/jJzG6h.png ';
'CategoryItemImageUI':Output =' https://resmim.net/cdn/2025/11/14/jFyEzn.png" rel="nofollow - https://resmim.net/cdn/2025/11/14/jFyEzn.png ';
'AddStockBtnUI':Output = ' https://resmim.net/cdn/2025/11/17/jqzzkG.png" rel="nofollow - https://resmim.net/cdn/2025/11/17/jqzzkG.png ';
else{
ShowMessage('Resim Yok');
}
}
Result=Output;
}
void TitlePnlV
{
TitlePnl = MainForm.AddNewProPanel(MainForm,'TitlePnl');
TitlePnl.Align = alMostTop;
TitlePnl.Height = (MainForm.clHeight*18)/100;
TitlePnl.Width = (MainForm.clWidth*100)/100;
TitlePnl.Margins.Top = (MainForm.clHeight * -0.0715); // -60 / 839 ≈ -0.0715
TitlePnl.Margins.Left = (MainForm.clWidth * -0.0254); // -10 / 393 ≈ -0.0254
TitlePnl.Margins.Right = (MainForm.clWidth * -0.0254); // -10 / 393 ≈ -0.0254
TitlePnl.clProSettings.BorderWidth = 3;
TitlePnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3a3a3a');
TitlePnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4caf50');
TitlePnl.SetclProSettings(TitlePnl.clProSettings);
TitleLbl = MainForm.AddNewProLabel(TitlePnl,'TitleLbl','STOKLAR');
TitleLbl.Align = alCenter;
TitleLbl.Width = (MainForm.clWidth * 1.0178);
TitleLbl.Height = (MainForm.clHeight * 0.1073);
TitleLbl.Margins.Top = (MainForm.clHeight * 0.0715); // 60 / 839 ≈ 0.0715
TitleLbl.clProSettings.FontSize = 30;
TitleLbl.clProSettings.FontVertAlign = palcenter;
TitleLbl.clProSettings.FontHorzAlign = palcenter;
//TitleLbl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1e1e1e');
TitleLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
TitleLbl.clProSettings.TextSettings.Font.Style = [fsBold];
MainForm.AddNewEvent(TitleLbl,tbeOnClick,'');
TitleLbl.SetclProSettings(TitleLbl.clProSettings);
}
void NavbarPnlV
{
NavbarPnl = MainForm.AddNewProPanel(MainForm,'NavbarPnl');
NavbarPnl.Align = alMostBottom;
NavbarPnl.Height = (MainForm.clHeight*8)/100;
NavbarPnl.Width = (MainForm.clWidth*100)/100;
NavbarPnl.Margins.Left = (MainForm.clWidth * -0.0254); // -10 / 393 ≈ -0.0254
NavbarPnl.Margins.Right = (MainForm.clWidth * -0.0254); // -10 / 393 ≈ -0.0254
NavbarPnl.Margins.Bottom = (MainForm.clHeight * -0.0119); // -10 / 839 ≈ -0.0119
NavbarPnl.clProSettings.BorderWidth = 3;
NavbarPnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3a3a3a');
NavbarPnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4caf50');
NavbarPnl.SetclProSettings(NavbarPnl.clProSettings);
HomeBtn = MainForm.AddNewProButton(NavbarPnl,'HomeBtn','');
HomeBtn.Align = alCenter;
HomeBtn.Height = (NavbarPnl.Height*105)/100;
HomeBtn.Width = (NavbarPnl.Width*30)/100;
HomeBtn.Margins.Top = (MainForm.clHeight * -0.0596); // -50 / 839 ≈ -0.0596
HomeBtn.clProSettings.PictureSource = IconSelect('HomePageBtnUI');
HomeBtn.SetclProSettings(HomeBtn.clProSettings);
BackBtn = MainForm.AddNewProButton(NavbarPnl,'BackBtn','');
BackBtn.Align = alCenter;
BackBtn.Height = (NavbarPnl.Height*105)/100;
BackBtn.Width = (NavbarPnl.Width*30)/100;
BackBtn.Margins.Top = (MainForm.clHeight * -0.0596); // -50 / 839 ≈ -0.0596
BackBtn.Margins.Right = (MainForm.clWidth * -0.6361); // -250 / 393 ≈ -0.6361
BackBtn.clProSettings.PictureSource = IconSelect('BackArrowBtnUI');
BackBtn.SetclProSettings(BackBtn.clProSettings);
SortBtn = MainForm.AddNewProButton(NavbarPnl,'SortBtn','');
SortBtn.Align = alCenter;
SortBtn.Height = (NavbarPnl.Height*105)/100;
SortBtn.Width = (NavbarPnl.Width*30)/100;
SortBtn.Margins.Top = (MainForm.clHeight * -0.0596); // -50 / 839 ≈ -0.0596
SortBtn.Margins.left = (MainForm.clWidth * -0.6361); // -250 / 393 ≈ -0.6361
SortBtn.clProSettings.PictureSource = IconSelect('SortBtnUI');
SortBtn.SetclProSettings(SortBtn.clProSettings);
}
void MainPnlV
{
vScroll = MainForm.AddNewVertScrollBox(MainForm,'vScroll');
vScroll.Align = alCenter;
vScroll.Height = (MainForm.clHeight*80)/100;
vScroll.Width = (MainForm.clWidth*98)/100;
vScroll.Margins.bottom = 50;
}
void ToggleCategories(Sender: TObject)
var
I, J: integer;
TempPnl: TclProPanel;
NormalHeight: single;
NormalMargin: integer;
{
NormalHeight = 74; // Panelin orijinal yüksekliği
NormalMargin = 5; // SetObjectMargins'tan (7)
// Durumu tersine çevir (açık → kapalı, kapalı → açık)
AllCategoriesOpen = not AllCategoriesOpen;
// TÜM alt panellerin yüksekliğini ve margin'ini değiştir
for (I = 1 to StocksCategoryCount) {
for (J = 1 to StocksCount) {
TempPnl = MainForm.clFindComponent('StocksPnl' + IntToStr(I) + '_' + IntToStr(J));
if (TempPnl <> nil) {
if (AllCategoriesOpen) {
TempPnl.Height = NormalHeight;
TempPnl.Margins.Top = NormalMargin;
TempPnl.Margins.Bottom = NormalMargin;
} else {
TempPnl.Height = 0;
TempPnl.Margins.Top = 0;
TempPnl.Margins.Bottom = 0;
}
}
}
}
}
void StocksCategoryPnlVD
var
I,J:integer;
{
for (I = 1 to StocksCategoryCount) {
StocksCategoryPnl = MainForm.AddNewProButton(vScroll,'StocksCategoryPnl'+IntToStr(I),'');
StocksCategoryPnl.Align = alTop;
StocksCategoryPnl.Height = 74;
//StocksCategoryPnl.Height = (MainForm.clHeight * 0.0930); // 78 / 839 ≈ 0.0930
SetObjectMargins(StocksCategoryPnl,5);
StocksCategoryPnl.Margins.Left = (MainForm.clWidth * 0.0382); // 15 / 393 ≈ 0.0382
StocksCategoryPnl.Margins.Right = (MainForm.clWidth * 0.0382); // 15 / 393 ≈ 0.0382
StocksCategoryPnl.clProSettings.BorderWidth = 2;
StocksCategoryPnl.clProSettings.RoundHeight=3.5;
StocksCategoryPnl.clProSettings.RoundWidth=3.5;
StocksCategoryPnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1e1e1e');
StocksCategoryPnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3a3a3a');
StocksCategoryPnl.SetclProSettings(StocksCategoryPnl.clProSettings);
MainForm.AddNewEvent(StocksCategoryPnl, tbeOnClick, 'ToggleCategories');
CategoryItemImage = MainForm.AddNewProImage(StocksCategoryPnl,'CategoryItemImage'+IntToStr(I));
CategoryItemImage.Align = alCenter;
CategoryItemImage.Height = (MainForm.clHeight * 0.0775); // 65 / 839 ≈ 0.0775
CategoryItemImage.Width = (MainForm.clWidth * 0.1654); // 65 / 393 ≈ 0.1654
CategoryItemImage.Margins.Right = (MainForm.clWidth * 0.6743); // 265 / 393 ≈ 0.6743
CategoryItemImage.clProSettings.PictureSource = IconSelect('CategoryItemImageUI');
CategoryItemImage.clProSettings.PictureAutoFit = True;
CategoryItemImage.SetclProSettings(CategoryItemImage.clProSettings);
CategoryItemImage.HitTest = false;
//CategoryItemImage.ClTagStr = IntToStr(I);
CategoryNameLbl = MainForm.AddNewProLabel(StocksCategoryPnl,'CategoryNameLbl'+IntToStr(I),'Tatlılar');
CategoryNameLbl.Align = alCenter;
CategoryNameLbl.Width = 150;
CategoryNameLbl.Height = 30;
CategoryNameLbl.Margins.Right = 15;
//CategoryNameLbl.Margins.Top =15;
CategoryNameLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
CategoryNameLbl.clProSettings.FontSize = 20;
//CategoryNameLbl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#fff700');
CategoryNameLbl.clProSettings.FontVertAlign = palcenter;
CategoryNameLbl.clProSettings.FontHorzAlign = palleading;
CategoryNameLbl.clProSettings.TextSettings.Font.Style = [fsBold];
CategoryNameLbl.HitTest = false;
CategoryNameLbl.SetclProSettings(CategoryNameLbl.clProSettings);
for (J = 1 to StocksCount ) {
StocksPnl = MainForm.addnewpropanel(vScroll, 'StocksPnl'+IntToStr(I)+'_'+IntToStr(J));
StocksPnl.Align = alTop;
//StocksPnl.Height = (MainForm.clHeight * 0.0930); // 78 / 839 ≈ 0.0930
StocksPnl.Height = 74;
SetObjectMargins(StocksPnl,5);
StocksPnl.Margins.Left = (MainForm.clWidth * 0.0382); // 15 / 393 ≈ 0.0382
StocksPnl.Margins.Right = (MainForm.clWidth * 0.0382); // 15 / 393 ≈ 0.0382
StocksPnl.clProSettings.BorderWidth = 2;
StocksPnl.clProSettings.RoundHeight=3.5;
StocksPnl.clProSettings.RoundWidth=3.5;
StocksPnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1e1e1e');
StocksPnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3a3a3a');
StocksPnl.SetclProSettings(StocksPnl.clProSettings);
StocksImage = MainForm.AddNewProImage(StocksPnl,'StocksImage'+IntToStr(I)+'_'+IntToStr(J));
StocksImage.Align = alCenter;
StocksImage.Height = (MainForm.clHeight * 0.0775); // 65 / 839 ≈ 0.0775
StocksImage.Width = (MainForm.clWidth * 0.1654); // 65 / 393 ≈ 0.1654
StocksImage.Margins.Right = (MainForm.clWidth * 0.6743); // 265 / 393 ≈ 0.6743
StocksImage.clProSettings.PictureSource = ' https://resmim.net/cdn/2025/10/27/jAJjr1.png" rel="nofollow - https://resmim.net/cdn/2025/10/27/jAJjr1.png ';
StocksImage.clProSettings.PictureAutoFit = True;
StocksImage.SetclProSettings(StocksImage.clProSettings);
StocksNameLbl = MainForm.AddNewProLabel(StocksPnl,'StocksNameLbl'+IntToStr(I)+'_'+IntToStr(J),'Tiramisu');
StocksNameLbl.Align = alCenter;
StocksNameLbl.Width = (MainForm.clWidth * 0.3817); // 150 / 393 ≈ 0.3817
StocksNameLbl.Height = (MainForm.clHeight * 0.0358); // 30 / 839 ≈ 0.0358
StocksNameLbl.Margins.Right = (MainForm.clWidth * 0.0382); // 15 / 393 ≈ 0.0382
StocksNameLbl.Margins.Bottom=30;
StocksNameLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
StocksNameLbl.clProSettings.FontSize = 20;
//StocksNameLbl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#fff700');
StocksNameLbl.clProSettings.FontVertAlign = palcenter;
StocksNameLbl.clProSettings.FontHorzAlign = palleading;
StocksNameLbl.clProSettings.TextSettings.Font.Style = [fsBold];
StocksNameLbl.SetclProSettings(StocksNameLbl.clProSettings);
DetailsBtn= MainForm.AddNewProButton(StocksPnl, 'DetailsBtn'+IntToStr(I)+'_'+IntToStr(J), 'DETAYLAR');
DetailsBtn.Align = alCenter;
DetailsBtn.Width =74;
DetailsBtn.Height=74;
DetailsBtn.Margins.Left=282;
DetailsBtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
DetailsBtn.clProSettings.FontSize = 12;
DetailsBtn.clProSettings.FontVertAlign = palcenter;
DetailsBtn.clProSettings.FontHorzAlign = palcenter;
DetailsBtn.clProSettings.TextSettings.Font.Style = [fsBold];
DetailsBtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4caf50');
DetailsBtn.clProSettings.RoundWidth = 3.5;
DetailsBtn.clProSettings.RoundHeight = 3.5;
DetailsBtn.clProSettings.BorderColor= clAlphaColor.clHexToColor('#3a3a3a')
DetailsBtn.clProSettings.BorderWidth =2;
MainForm.AddNewEvent(DetailsBtn,tbeOnClick,'');
DetailsBtn.SetclProSettings(DetailsBtn.clProSettings);
}
}
}
{
MainForm = tclForm.Create(self);
StocksCategoryCount=3;
StocksCount =5;
TitlePnlV;
AllCategoriesOpen = True;
MainPnlV;
NavbarPnlV;
StocksCategoryPnlVD;
MainForm.SetFormColor('#121212','',clGNone);
MainForm.FormWaiting.Visible = False;
MainForm.BtnFormMenu.Visible = False;
MainForm.BtnGoBack.Visible = False;
MainForm.run;
}