Data update
This commit is contained in:
parent
29a5eea0d4
commit
5c1bb7bfa9
2011 changed files with 35081 additions and 3229 deletions
115
Task/Honeycombs/FutureBasic/honeycombs.basic
Normal file
115
Task/Honeycombs/FutureBasic/honeycombs.basic
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
void local fn BuildWindow
|
||||
long tag, index
|
||||
CFStringRef title
|
||||
CFMutableStringRef letters = fn MutableStringWithString( @"ABCDEFGHIJKLMNOPQRSTUVWXYZ" )
|
||||
|
||||
window 1, @"Honeycombs", (0,0,419,443), NSWindowStyleMaskTitled
|
||||
WindowSetBackgroundColor( 1, fn ColorWhite )
|
||||
|
||||
CGrect r = {20,339,95,85}
|
||||
for tag = 1 to 20
|
||||
subclass button tag,,, @"", r,, NSBezelStyleSmallSquare
|
||||
index = rnd(len(letters)-1)
|
||||
title = mid(letters,index,1)
|
||||
ButtonSetTitle( tag, title )
|
||||
ButtonSetKeyEquivalent( tag, lcase(title) )
|
||||
MutableStringDeleteCharacters( letters, fn RangeMake( index, 1 ) )
|
||||
ButtonSetTransparent( tag, YES )
|
||||
r = fn CGRectOffset( r, 0, -82 )
|
||||
if ( tag mod 4 == 0 )
|
||||
r.origin.x += 71
|
||||
if ( r.origin.y < -21.0 )
|
||||
r.origin.y = 339
|
||||
else
|
||||
r.origin.y = 298
|
||||
end if
|
||||
end if
|
||||
next
|
||||
|
||||
textlabel 21,, (18,20,383,24)
|
||||
ControlSetFont( 21, fn FontSystemFontOfSize(20) )
|
||||
ControlSetAlignment( 21, NSTextAlignmentCenter )
|
||||
end fn
|
||||
|
||||
void local fn ViewDrawRect( tag as long )
|
||||
CGRect r = fn ViewBounds( tag )
|
||||
ColorRef titleColor, fillColor
|
||||
|
||||
if ( fn ControlIsEnabled( tag ) )
|
||||
titleColor = fn ColorRed
|
||||
fillColor = fn ColorYellow
|
||||
else
|
||||
titleColor = fn ColorBlack
|
||||
fillColor = fn ColorMagenta
|
||||
end if
|
||||
|
||||
BezierPathRef path = fn BezierPathInit
|
||||
BezierPathSetLineWidth( path, 5.0 )
|
||||
BezierpathSetLineCapStyle( path, NSRoundLineCapStyle )
|
||||
|
||||
CGPoint pt = {0,41}
|
||||
BezierPathMoveToPoint( path, pt )
|
||||
|
||||
pt.x += 23.67 : pt.y += 41
|
||||
BezierPathLineToPoint( path, pt )
|
||||
|
||||
pt.x += 47.34
|
||||
BezierPathLineToPoint( path, pt )
|
||||
|
||||
pt.x += 23.67 : pt.y -= 41
|
||||
BezierPathLineToPoint( path, pt )
|
||||
|
||||
pt.x -= 23.67 : pt.y -= 41
|
||||
BezierPathLineToPoint( path, pt )
|
||||
|
||||
pt.x -= 47.34
|
||||
BezierPathLineToPoint( path, pt )
|
||||
|
||||
pt.x -= 23.67 : pt.y += 41
|
||||
BezierPathLineToPoint( path, pt )
|
||||
|
||||
ColorSet( fillColor )
|
||||
BezierPathFill( path )
|
||||
|
||||
ColorSet( fn ColorBlack )
|
||||
BezierPathStroke( path )
|
||||
|
||||
CFStringRef title = fn ButtonTitle( tag )
|
||||
CFDictionaryRef attrs = @{
|
||||
NSFontAttributeName:fn FontWithName( @"Helvetica-Bold", 52),
|
||||
NSForegroundColorAttributeName:titleColor}
|
||||
|
||||
CFMutableAttributedStringRef aString = fn MutableAttributedStringWithAttributes( title, attrs )
|
||||
MutableAttributedStringSetAlignment( aString, NSTextAlignmentCenter )
|
||||
r.origin.y += 10
|
||||
AttributedStringDrawInRect( aString, r )
|
||||
end fn
|
||||
|
||||
void local fn Finished
|
||||
long tag
|
||||
for tag = 1 to 20
|
||||
if ( fn ControlIsEnabled( tag ) ) then exit fn
|
||||
next
|
||||
end
|
||||
end fn
|
||||
|
||||
void local fn ButtonAction( tag as long )
|
||||
CFStringRef string = fn StringByAppendingString( fn ControlStringValue(21), fn ButtonTitle(tag) )
|
||||
ControlSetStringValue( 21, string )
|
||||
ControlSetEnabled( tag, NO )
|
||||
fn Finished
|
||||
end fn
|
||||
|
||||
void local fn DoDialog( ev as long, tag as long )
|
||||
select ( ev )
|
||||
case _btnClick : fn ButtonAction( tag )
|
||||
case _viewDrawRect : fn ViewDrawRect( tag )
|
||||
end select
|
||||
end fn
|
||||
|
||||
random
|
||||
fn BuildWindow
|
||||
|
||||
on Dialog fn DoDialog
|
||||
|
||||
HandleEvents
|
||||
Loading…
Add table
Add a link
Reference in a new issue