Skip to content

Commit

Permalink
New toolbar images
Browse files Browse the repository at this point in the history
  • Loading branch information
ollydev committed Aug 10, 2023
1 parent 4b28cbe commit 41c542c
Show file tree
Hide file tree
Showing 75 changed files with 944 additions and 122 deletions.
Binary file added Images/toolbar/Target_01_16.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/Target_01_24.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/Target_01_32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/align.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/align_150.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/align_200.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/compile.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/compile_150.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/compile_200.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/eraser.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/eraser_150.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/eraser_200.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/new.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/new_150.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/new_200.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/open.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/open_150.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/open_200.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/package.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/package_150.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/package_200.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/package_update0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/package_update0_150.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/package_update0_200.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/package_update1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/toolbar/package_update1_150.png
Binary file added Images/toolbar/package_update1_200.png
Binary file added Images/toolbar/package_update2.png
Binary file added Images/toolbar/package_update2_150.png
Binary file added Images/toolbar/package_update2_200.png
Binary file added Images/toolbar/package_update3.png
Binary file added Images/toolbar/package_update3_150.png
Binary file added Images/toolbar/package_update3_200.png
Binary file added Images/toolbar/package_update4.png
Binary file added Images/toolbar/package_update4_150.png
Binary file added Images/toolbar/package_update4_200.png
Binary file added Images/toolbar/package_update5.png
Binary file added Images/toolbar/package_update5_150.png
Binary file added Images/toolbar/package_update5_200.png
Binary file added Images/toolbar/package_update6.png
Binary file added Images/toolbar/package_update6_150.png
Binary file added Images/toolbar/package_update6_200.png
Binary file added Images/toolbar/package_update7.png
Binary file added Images/toolbar/package_update7_150.png
Binary file added Images/toolbar/package_update7_200.png
Binary file added Images/toolbar/package_update8.png
Binary file added Images/toolbar/package_update8_150.png
Binary file added Images/toolbar/package_update8_200.png
Binary file added Images/toolbar/package_update9.png
Binary file added Images/toolbar/package_update9_150.png
Binary file added Images/toolbar/package_update9_200.png
Binary file added Images/toolbar/pause.png
Binary file added Images/toolbar/pause_150.png
Binary file added Images/toolbar/pause_200.png
Binary file added Images/toolbar/pipette.png
Binary file added Images/toolbar/pipette_150.png
Binary file added Images/toolbar/pipette_200.png
Binary file added Images/toolbar/power.png
Binary file added Images/toolbar/power_150.png
Binary file added Images/toolbar/power_200.png
Binary file added Images/toolbar/run.png
Binary file added Images/toolbar/run_150.png
Binary file added Images/toolbar/run_200.png
Binary file added Images/toolbar/save.png
Binary file added Images/toolbar/save_150.png
Binary file added Images/toolbar/save_200.png
Binary file added Images/toolbar/save_all.png
Binary file added Images/toolbar/save_all_150.png
Binary file added Images/toolbar/save_all_200.png
Binary file added Images/toolbar/stop.png
Binary file added Images/toolbar/stop_150.png
Binary file added Images/toolbar/stop_200.png
856 changes: 779 additions & 77 deletions Source/forms/simba.main.lfm

Large diffs are not rendered by default.

206 changes: 163 additions & 43 deletions Source/forms/simba.main.pas
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,26 @@ interface
IMAGE_PACKAGE_UPDATE = 45;
IMAGE_ENUM = 55;

IMG_TOOLBAR_PLAY = 0;
IMG_TOOLBAR_PAUSE = 1;
IMG_TOOLBAR_STOP = 2;
IMG_TOOLBAR_POWER = 3;
IMG_TOOLBAR_COMPILE = 4;
IMG_TOOLBAR_NEW = 5;
IMG_TOOLBAR_OPEN = 6;
IMG_TOOLBAR_SAVE = 7;
IMG_TOOLBAR_SAVEALL = 8;
IMG_TOOLBAR_PIPETTE = 9;
IMG_TOOLBAR_AREA = 10;
IMG_TOOLBAR_TARGET = 11;
IMG_TOOLBAR_ERASER = 12;
IMG_TOOLBAR_PACKAGE = 13;

type
TSimbaForm = class(TForm)
DockPanel: TAnchorDockPanel;
RecentFilesPopup: TPopupMenu;
ToolbarImages: TImageList;
MainMenuTools: TPopupMenu;
MainMenuView: TPopupMenu;
MainMenuHelp: TPopupMenu;
Expand Down Expand Up @@ -147,19 +164,14 @@ TSimbaForm = class(TForm)
ToolbarButtonClearOutput: TToolButton;
ToolbarButtonColorPicker: TToolButton;
ToolbarButtonCompile: TToolButton;
ToolbarButtonNew: TToolButton;
ToolbarButtonOpen: TToolButton;
ToolbarButtonPackages: TToolButton;
ToolbarButtonPause: TToolButton;
ToolbarButtonRun: TToolButton;
ToolbarButtonSave: TToolButton;
ToolbarButtonSaveAll: TToolButton;
ToolbarButtonTargetSelector: TToolButton;
ToolbarDivider1: TToolButton;
ToolbarDivider2: TToolButton;
ToolbarDivider3: TToolButton;
ToolbarDivider4: TToolButton;
ToolbarDivider5: TToolButton;
ToolButtonNew: TToolButton;
ToolButtonAreaSelector: TToolButton;
TrayIcon: TTrayIcon;
TrayPopup: TPopupMenu;
Expand Down Expand Up @@ -210,10 +222,12 @@ TSimbaForm = class(TForm)
procedure MenuSelectAllClick(Sender: TObject);
procedure MenuUndoClick(Sender: TObject);
procedure DoPackageMenuTimer(Sender: TObject);
procedure RecentFilesPopupPopup(Sender: TObject);
procedure ToolbarButtonColorPickerClick(Sender: TObject);
procedure ToolbarButtonPackagesClick(Sender: TObject);
procedure ToolbarButtonSaveAllClick(Sender: TObject);
procedure ToolbarButtonSelectTargetClick(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure ToolBarPaintButton(Sender: TToolButton; State: integer);
procedure ToolButtonAreaSelectorClick(Sender: TObject);
procedure TrayIconClick(Sender: TObject);
procedure TrayPopupExitClick(Sender: TObject);
Expand Down Expand Up @@ -271,7 +285,7 @@ implementation
{$R *.lfm}

uses
LCLType, LCLIntf, LazFileUtils, AnchorDocking, ToolWin,
LCLType, LCLIntf, LazFileUtils, AnchorDocking, ToolWin, ATCanvasPrimitives, Types, GraphType,

simba.shapeboxform, simba.openexampleform, simba.colorpickerhistoryform,
simba.debugimageform, simba.imagetostringform, simba.aboutform,
Expand Down Expand Up @@ -357,7 +371,7 @@ procedure TSimbaForm.SetToolbarSize(Value: Integer);
begin
ToolBar.ImagesWidth := Value;

ToolBar.ButtonWidth := Value + Scale96ToScreen(8);
ToolBar.ButtonWidth := Value + Scale96ToScreen(10);
ToolBar.ButtonHeight := Value + Scale96ToScreen(16);
end;

Expand Down Expand Up @@ -445,6 +459,34 @@ procedure TSimbaForm.DoPackageMenuTimer(Sender: TObject);
UpdatePackages();
end;

procedure TSimbaForm.RecentFilesPopupPopup(Sender: TObject);
var
I: Integer;
Item: TMenuItem;
begin
RecentFilesPopup.Items.Clear();

I := 0;
while (I < FRecentFiles.Count) do
begin
if (not FileExists(FRecentFiles[I])) then
begin
FRecentFiles.Delete(I);

Continue;
end;

Item := TMenuItem.Create(RecentFilesPopup);
Item.Caption := ShortDisplayFilename(FRecentFiles[I], 80);
Item.OnClick := @HandleRecentFileClick;
Item.Hint := FRecentFiles[I];

RecentFilesPopup.Items.Add(Item);

Inc(I);
end;
end;

procedure TSimbaForm.MenuItemFormatScriptClick(Sender: TObject);
var
Script: String;
Expand Down Expand Up @@ -497,49 +539,57 @@ procedure TSimbaForm.AddRecentFile(FileName: String);

procedure TSimbaForm.SetButtonStates(Instance: TSimbaScriptInstance);
begin
if (Instance = nil) or (Instance.State in [ESimbaScriptState.STATE_NONE, ESimbaScriptState.STATE_PAUSED]) then
begin
ToolbarButtonRun.Enabled := True;
ToolbarButtonPause.Enabled := False;
ToolbarButtonCompile.Enabled := True;
if Assigned(Instance) then
case Instance.State of
ESimbaScriptState.STATE_PAUSED:
begin
ToolbarButtonRun.Enabled := True;
ToolbarButtonPause.Enabled := False;
ToolbarButtonCompile.Enabled := True;

StopButtonStop.Enabled := False;
StopButtonStop.ImageIndex := IMAGE_STOP;
StopButtonStop.Enabled := True;
StopButtonStop.ImageIndex := IMG_TOOLBAR_STOP;
end;

Exit;
end;
ESimbaScriptState.STATE_STOP:
begin
ToolbarButtonRun.Enabled := False;
ToolbarButtonPause.Enabled := False;
ToolbarButtonCompile.Enabled := False;

case Instance.State of
ESimbaScriptState.STATE_PAUSED:
begin
ToolbarButtonRun.Enabled := True;
ToolbarButtonPause.Enabled := False;
ToolbarButtonCompile.Enabled := True;
StopButtonStop.Enabled := True;
StopButtonStop.ImageIndex := IMG_TOOLBAR_POWER;
end;

StopButtonStop.Enabled := True;
StopButtonStop.ImageIndex := IMAGE_STOP;
end;
ESimbaScriptState.STATE_RUNNING:
begin
ToolbarButtonRun.Enabled := False;
ToolbarButtonPause.Enabled := True;
ToolbarButtonCompile.Enabled := False;

ESimbaScriptState.STATE_STOP:
begin
ToolbarButtonRun.Enabled := False;
ToolbarButtonPause.Enabled := False;
ToolbarButtonCompile.Enabled := False;
StopButtonStop.Enabled := True;
StopButtonStop.ImageIndex := IMG_TOOLBAR_STOP;
end;

StopButtonStop.Enabled := True;
StopButtonStop.ImageIndex := IMAGE_POWER;
end;
ESimbaScriptState.STATE_NONE:
begin
ToolbarButtonRun.Enabled := True;
ToolbarButtonPause.Enabled := False;
ToolbarButtonCompile.Enabled := True;

ESimbaScriptState.STATE_RUNNING:
begin
ToolbarButtonRun.Enabled := False;
ToolbarButtonPause.Enabled := True;
ToolbarButtonCompile.Enabled := False;
StopButtonStop.Enabled := False;
StopButtonStop.ImageIndex := IMG_TOOLBAR_STOP;
end;
end
else
begin
ToolbarButtonRun.Enabled := True;
ToolbarButtonPause.Enabled := False;
ToolbarButtonCompile.Enabled := True;

StopButtonStop.Enabled := True;
StopButtonStop.ImageIndex := IMAGE_STOP;
end;
end;
StopButtonStop.Enabled := False;
StopButtonStop.ImageIndex := IMG_TOOLBAR_STOP;
end;
end;

procedure TSimbaForm.SetDefaultDocking(IsResetting: Boolean);
Expand Down Expand Up @@ -1147,6 +1197,76 @@ procedure TSimbaForm.ToolbarButtonSelectTargetClick(Sender: TObject; Button: TMo
end;
end;

{
procedure TSimbaForm.ToolBarPaintButton(Sender: TObject);
var
ArrowRect: TRect;
begin
with TToolButton(Sender) do
begin
ArrowRect := ClientRect;
ArrowRect.Left := ArrowRect.Right-ToolBar.DropDownWidth;
CanvasPaintTriangleDown(Canvas, $FFFFFF, ArrowRect.CenterPoint, 2);
end;
end;
}

procedure TSimbaForm.ToolBarPaintButton(Sender: TToolButton; State: integer);
var
IconSize: TSize;
IconPos: TPoint;
MainBtnRect: TRect;
DropDownRect: TRect;
R: TRect;
begin
with Sender do
begin
if Style = tbsDivider then
begin
Canvas.Pen.Color := SimbaTheme.ColorLine;
with ClientRect.CenterPoint do
Canvas.Line(X,3,X,Height-3);
Exit;
end;

IconSize := ToolBar.Images.SizeForPPI[ToolBar.ImagesWidth, ToolBar.Font.PixelsPerInch];
if IconSize.cy <= 0 then
IconSize.cx := 0;

MainBtnRect := ClientRect;
if Sender.Style = tbsButtonDrop then
begin
DropDownRect := MainBtnRect;
DropDownRect.Left := DropDownRect.Right - ToolBar.DropDownWidth;
MainBtnRect.Right := DropDownRect.Left;
end;

IconPos.X := (MainBtnRect.Left+MainBtnRect.Right-IconSize.cx) div 2;
IconPos.Y := (MainBtnRect.Top+MainBtnRect.Bottom-IconSize.cy) div 2;

Canvas.Brush.Color := SimbaTheme.ColorFrame;
Canvas.FillRect(ClientRect);

if State in [2,3] then
begin
R := ClientRect;
R.Inflate(-1,-2);
Canvas.Brush.Color := SimbaTheme.ColorActive;
Canvas.FillRect(R);
CanvasPaintRoundedCorners(Canvas, R, [acckLeftTop, acckRightTop, acckLeftBottom, acckRightBottom], Color, Canvas.Brush.Color, Canvas.Brush.Color);
end;

if Sender.Enabled then
ToolBar.Images.ResolutionForPPI[ToolBar.ImagesWidth, Font.PixelsPerInch, GetCanvasScaleFactor].Draw(Canvas, IconPos.X, IconPos.Y, ImageIndex)
else
ToolBar.Images.ResolutionForPPI[ToolBar.ImagesWidth, Font.PixelsPerInch, GetCanvasScaleFactor].Draw(Canvas, IconPos.X, IconPos.Y, ImageIndex, gdeDisabled);

if (Style = tbsButtonDrop) then
CanvasPaintTriangleDown(Canvas, SimbaTheme.ColorFont, DropDownRect.CenterPoint, 2);
end;
end;

procedure TSimbaForm.ToolButtonAreaSelectorClick(Sender: TObject);
begin
try
Expand Down
4 changes: 2 additions & 2 deletions Source/package/simba.package_autoupdater.pas
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,11 @@ procedure TPackageUpdater.DoTerminateOnMainThread(Sender: TObject);
if (FUpdates.Count > 0) then
begin
SimbaForm.ToolbarButtonPackages.Hint := 'Open packages' + LineEnding + FUpdates.Text;
SimbaForm.ToolbarButtonPackages.ImageIndex := IMAGE_PACKAGE_UPDATE + Min(FUpdates.Count, 9);
SimbaForm.ToolbarButtonPackages.ImageIndex := IMG_TOOLBAR_PACKAGE + Min(FUpdates.Count, 9);
end else
begin
SimbaForm.ToolbarButtonPackages.Hint := 'Open packages';
SimbaForm.ToolbarButtonPackages.ImageIndex := IMAGE_PACKAGE;
SimbaForm.ToolbarButtonPackages.ImageIndex := IMG_TOOLBAR_PACKAGE;
end;
end;

Expand Down

0 comments on commit 41c542c

Please sign in to comment.