cocoa: common code to support TScrollStyle for ListView and Memo

git-svn-id: trunk@58675 -
This commit is contained in:
dmitry 2018-08-04 22:28:10 +00:00
parent d8f5f93d77
commit b21be64d42
2 changed files with 16 additions and 27 deletions

View File

@ -18,7 +18,7 @@ uses
WSComCtrls,
// Cocoa WS
CocoaPrivate, CocoaScrollers, CocoaTabControls, CocoaUtils,
CocoaWSCommon, CocoaTables, cocoa_extra;
CocoaWSCommon, CocoaTables, cocoa_extra, CocoaWSStdCtrls;
type
@ -1185,29 +1185,11 @@ var
lCocoaLV: TCocoaListView;
begin
if not CheckParams(lCocoaLV, lTableLV, ALV) then Exit;
case AValue of
ssNone:
begin
lCocoaLV.setHasHorizontalRuler(False);
lCocoaLV.setHasVerticalRuler(False);
end;
ssHorizontal, ssAutoHorizontal:
begin
lCocoaLV.setHasHorizontalRuler(True);
lCocoaLV.setHasVerticalRuler(False);
end;
ssVertical, ssAutoVertical:
begin
lCocoaLV.setHasHorizontalRuler(False);
lCocoaLV.setHasVerticalRuler(True);
end;
ssBoth, ssAutoBoth:
begin
lCocoaLV.setHasHorizontalRuler(True);
lCocoaLV.setHasVerticalRuler(True);
end;
end;
lCocoaLV.setAutohidesScrollers(AValue in [ssAutoHorizontal, ssAutoVertical, ssAutoBoth]);
ScrollViewSetScrollStyles(lCocoaLV, AValue);
lCocoaLV.setNeedsDisplay_(true);
lCocoaLV.documentView.setNeedsDisplay_(true);
end;
{ TCocoaWSProgressBar }

View File

@ -294,6 +294,8 @@ procedure TextViewSetAllignment(txt: NSTextView; align: TAlignment);
procedure TextFieldSetAllignment(txt: NSTextField; align: TAlignment);
procedure RadioButtonSwitchSiblings(checkedRadio: NSButton);
procedure ScrollViewSetScrollStyles(AScroll: TCocoaScrollView; AStyles: TScrollStyle);
implementation
const
@ -382,6 +384,13 @@ begin
end;
end;
procedure ScrollViewSetScrollStyles(AScroll: TCocoaScrollView; AStyles: TScrollStyle);
begin
AScroll.setHasVerticalScroller(VerticalScrollerVisible[AStyles]);
AScroll.setHasHorizontalScroller(HorizontalScrollerVisible[AStyles]);
AScroll.setAutohidesScrollers(ScrollerAutoHide[AStyles]);
end;
{ TLCLRadioButtonCallback }
procedure TLCLRadioButtonCallback.ButtonClick;
@ -1276,9 +1285,7 @@ end;
class procedure TCocoaWSCustomMemo.SetScrollbars(const ACustomMemo: TCustomMemo; const NewScrollbars: TScrollStyle);
begin
TCocoaScrollView(ACustomMemo.Handle).setHasVerticalScroller(VerticalScrollerVisible[NewScrollbars]);
TCocoaScrollView(ACustomMemo.Handle).setHasHorizontalScroller(HorizontalScrollerVisible[NewScrollbars]);
TCocoaScrollView(ACustomMemo.Handle).setAutohidesScrollers(ScrollerAutoHide[NewScrollbars]);
ScrollViewSetScrollStyles(TCocoaScrollView(ACustomMemo.Handle), NewScrollbars);
end;
class procedure TCocoaWSCustomMemo.SetWordWrap(const ACustomMemo: TCustomMemo; const NewWordWrap: boolean);