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, WSComCtrls,
// Cocoa WS // Cocoa WS
CocoaPrivate, CocoaScrollers, CocoaTabControls, CocoaUtils, CocoaPrivate, CocoaScrollers, CocoaTabControls, CocoaUtils,
CocoaWSCommon, CocoaTables, cocoa_extra; CocoaWSCommon, CocoaTables, cocoa_extra, CocoaWSStdCtrls;
type type
@ -1185,29 +1185,11 @@ var
lCocoaLV: TCocoaListView; lCocoaLV: TCocoaListView;
begin begin
if not CheckParams(lCocoaLV, lTableLV, ALV) then Exit; if not CheckParams(lCocoaLV, lTableLV, ALV) then Exit;
case AValue of
ssNone: ScrollViewSetScrollStyles(lCocoaLV, AValue);
begin
lCocoaLV.setHasHorizontalRuler(False); lCocoaLV.setNeedsDisplay_(true);
lCocoaLV.setHasVerticalRuler(False); lCocoaLV.documentView.setNeedsDisplay_(true);
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]);
end; end;
{ TCocoaWSProgressBar } { TCocoaWSProgressBar }

View File

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