
툴바 항목 종류를 컨트롤 하나에 모두.
tikButton,tikToggle,tikDropdown은 명령용이고,tikSeparator와tikLabel이 그 사이를 채워요.tikSpacer는 남는 너비를 차지해서 도움말이나 사용자 이름을 오른쪽 끝으로 밀어 줘요.- 토글에 같은
GroupIndex를 주면 이벤트 연결 없이 라디오 그룹이 돼요.
어떤 UI에서도 똑같이 보이는 컨트롤 두 개로 데스크톱 애플리케이션의 뼈대를 만들어 보세요. 버튼, 토글, 라디오 그룹, 드롭다운이 있는 툴바와, 작업자 스레드가 직접 갱신할 수 있는 진행률 및 표시등 패널을 갖춘 진짜 상태 표시줄이에요. 소스 코드가 포함돼요.

위에는 명령, 아래에는 상태, 그리고 백그라운드에서 도는 작업. sgcToolbar는 항목 컬렉션 하나와 패널 컬렉션 하나로 이 모두를 모든 프레임워크에서 처리해요.
위에는 항목 종류 6가지, 아래에는 텍스트, 진행률, 표시등 패널이 있어요.
작업자 스레드에서 Synchronize 없이 패널 텍스트, 진행률, 표시등을 설정해요.
VCL, FireMonkey, WinForms, WPF, Avalonia에서 같은 항목 모델을 써요.
두 바를 창 없이 PNG나 SVG로 렌더링해요. Linux64도 지원해요.
체험판에 들어 있는 EditorShell과 LiveStatus 데모에서 캡처했어요.

tikButton, tikToggle, tikDropdown은 명령용이고, tikSeparator와 tikLabel이 그 사이를 채워요.tikSpacer는 남는 너비를 차지해서 도움말이나 사용자 이름을 오른쪽 끝으로 밀어 줘요.GroupIndex를 주면 이벤트 연결 없이 라디오 그룹이 돼요.OverflowMenu를 보여 주고, 이 메뉴는 숨은 항목마다 하나씩 항목을 실행 시간에 만들어요.OnItemClick이 발생하고, 드롭다운은 메뉴를 보여 줘요.
Width를 따르고, AutoSize 패널은 텍스트에 맞추고, Spring 패널은 남은 너비를 나눠 가져요.spkProgress는 Progress 퍼센트만큼 강조 색으로 채워져요.spkIndicator는 sisOff, sisOk, sisWarning, sisError에 맞는 점을 보여 주고, 라이트와 다크 테마에 맞게 조정돼 있어요.SetPanelText, SetProgress, SetIndicator는 Synchronize나 Queue 없이 어느 스레드에서든 호출할 수 있어요.OnChange를 발생시켜요.라디오 그룹, 드롭다운 메뉴, 테마, 아이콘만 있는 바를 데모에서 그대로 가져왔어요.


GroupIndex를 가진 토글은 라디오 그룹이 되고, 항상 하나는 선택된 상태로 남아요.
Theme = utLight 또는 utDark 는 크기 조절 손잡이를 포함해 툴바와 상태 표시줄의 스타일을 바꿔요.
ShowCaptions를 끄면 아이콘만 있는 컴팩트 바가 되고, 캡션은 힌트로 바뀌어요.토글, 라디오 그룹, 드롭다운, 그리고 클릭 핸들러에서 갱신되는 상태 표시줄이에요. Delphi, C++ Builder, C#에서 같은 API예요.
dotnet add package esegece.sgcToolbar.WinForms
procedure TMainForm.CreateBars;
var
oItem: TsgcToolbarItem;
oPanel: TsgcStatusBarPanel;
begin
// a toolbar with a toggle, a Left/Center radio group and a dropdown
FToolbar := TsgcVCLToolbar.Create(Self);
FToolbar.Parent := Self;
FToolbar.OnItemClick := ToolbarItemClick;
oItem := FToolbar.Items.Add;
oItem.Kind := tikToggle;
oItem.Caption := 'Bold';
oItem := FToolbar.Items.Add;
oItem.Kind := tikToggle;
oItem.GroupIndex := 1;
oItem.Down := True;
oItem.Caption := 'Left';
oItem := FToolbar.Items.Add;
oItem.Kind := tikToggle;
oItem.GroupIndex := 1;
oItem.Caption := 'Center';
oItem := FToolbar.Items.Add;
oItem.Kind := tikDropdown;
oItem.Caption := 'Zoom';
oItem.DropdownMenu := FZoomMenu;
// a status bar: a spring text panel, a progress bar and an indicator
FStatusBar := TsgcVCLStatusBar.Create(Self);
FStatusBar.Parent := Self;
oPanel := FStatusBar.Panels.Add;
oPanel.Spring := True;
oPanel.Text := 'Ready';
FStatusBar.Panels.Add.Kind := spkProgress;
FStatusBar.Panels.Add.Kind := spkIndicator;
end;
procedure TMainForm.ToolbarItemClick(Sender: TObject; aItem: TsgcToolbarItem);
begin
// the setters are thread safe, a worker thread can call them directly
FStatusBar.SetPanelText(0, aItem.Caption + ' clicked');
FStatusBar.SetProgress(1, 60);
FStatusBar.SetIndicator(2, sisWarning);
end;
sgcToolbar를 단독으로 구입하거나, 같은 테마와 런타임을 쓰는 제품들과 함께 Standard부터 모든 sgcUI 에디션으로 받으세요. 모두 소스 코드가 포함돼요.
.NET에서는 esegece.sgcToolbar.Community가 NuGet에서 무료예요. sgcToolbar는 All-Access 번들에도 들어 있어요.
모든 sgcUI 제품은 같은 런타임인 sgcUICore로 그려요. 그래서 툴바와 상태 표시줄은 그 사이에 놓인 컨트롤과 글꼴, 간격, 강조 색, 테마를 공유해요.

같은 테마 토큰을 쓰는 사이드바 또는 아코디언이에요. 그래서 툴바, 상태 표시줄, 메뉴가 하나의 애플리케이션 셸을 이뤄요.

툴바 아래 폼에 놓이는 날짜 선택기, 슬라이더, 토큰 편집기도 같은 테마와 강조 색을 써요.

상태 표시줄을 라이브 그리드와 짝지어 행 수, 필터, 피드 상태를 패널로 보여 줘요.
Standard
Professional 추가
Enterprise 추가