Commit Graph

122 Commits

Author SHA1 Message Date
Robby Findler
4e95220d97 speed up tab switching
I belive this should only be noticeable at the human timescale level
when the tabs have been switched to already and, in that case, seems
to go from 3-400 msec to 50-60 msec on my machine

Essentially all of that time is in redrawing the buffer, so that 50-60
msec is proportional to the height of the DrRacket window, roughly.

(The commit just makes drracket do a single redraw instead of about 4
or so of them per switch ...)
2013-01-06 19:48:14 -06:00
Robby Findler
23fec98cbb move a literal string that should be translated into the string-constants library 2013-01-05 12:22:37 -06:00
Robby Findler
cce6f28d4d remove 'create executable' functionality from drracket for all
langauges except The Racket Language and the HtDP and DMdA languages
2013-01-05 12:19:26 -06:00
Robby Findler
0f26aafd1f Adjust DrRacket to not use on-demand to populate the
teachpack menu.

Instead DrRacket explicitly changes the menu items when
the language changes or when a teachpack is added/removed

Also, Rackety.

Closes PR 13395
2013-01-01 23:13:00 -06:00
Robby Findler
974350472c whoops, fix a bug introduced in 0f9674e1dd 2013-01-01 13:12:34 -06:00
Robby Findler
0f9674e1dd adjust drracket window size and position preferences to use a different key
This will make switching back and forth between 5.1.3 and the latest
not lose the frame size and position preferences (since the format
of the data is different now that the current release remembers
the position on a per-monitor-configuration basis)
2013-01-01 11:26:05 -06:00
Robby Findler
353da62843 added make-module-language-tag and use it and make-section-tag
in a few places
2012-12-27 11:10:40 -06:00
Robby Findler
cbeb846043 logger GUI bug
when a tab is created, the logger gui controls may not
have been created, so in the case don't try to update them
2012-12-27 09:06:18 -06:00
Robby Findler
d2d1ac2f2c Improve the logger GUI in DrRacket
One drawback to the current situation (after this commit) is that all
log messages are sent into the user's logger, even messages that come
about as part of DrRacket's implementation. It isn't clear how to fix
this without enumerating all of the possible messages to share and
explicitly forwarding them (both of which are suboptimal things).

On the plus side, the GUI now uses the "debug@GC" notation in a text
field, and when the logger pane is not open, there is no extra work
going on. Plus other, minor GUI improvements.
2012-12-26 22:38:42 -06:00
Robby Findler
0a6d8822b0 adjust DrRacket logging support following comments from Neil Van Dyke
- use the same font/size as the definitions/interactions window
- add a checkbox to control scrolling behavior and,
- when scrolling, scroll to the begining of the line, not the end
2012-12-26 09:03:43 -06:00
Robby Findler
3ab14bbafe initialize the delegate text for a new frame
related to PR 13379
2012-12-22 11:47:30 -06:00
Robby Findler
2fced5d7d6 drracket tracks the frame position and size on a
per-monitor-configuration basis and (possibly) moves/resizes
the frame when it changes
2012-12-21 19:22:59 -06:00
Robby Findler
e19243329c adjust drracket to track an lru order on tabs and use it
when closing one to pick the next one to show

added the touched and get-last-touched methods to tab<%>
2012-12-19 10:50:01 -06:00
Robby Findler
5163d424c3 Adjust the limit memory dialog to give a warning about the
consequences of disabling the memory limit

closes PR 13337
2012-12-03 08:54:51 -06:00
Robby Findler
325600b0cf disable the aspell preference a little more agressively in case someone
has old state lying around with the preference turned on
2012-12-02 15:32:33 -06:00
Robby Findler
993cd40208 Adjust DrRacket so the window can get narrower
For example, a new DrRacket window (with a file named tmp.rkt in the
and 356 afterwards.  This is under mac os x with, I believe, the
default system font sizes. (The file is important because different
languages can have different buttons in the toolbar and the filename's
length itself can affect the minimum size.)

Mostly this change is the addition of a new kind of panel that
lets its children have multiple fixed sizes (as opposed to
just a single minimum size and (optionally  arbitrarily large))
It also adjusts the various toolbar buttons to use this new code.

Also, there's a few tweaks to shrink other things that became the
limiting factor in shrinking the width of the DrRacket window.

Currently, at least for #lang racket programs, the toolbar buttons
along the top of the window are the limiting factor (including the
save button).  With a bogus language (ie, #lang rackeeet), the bottom
bar is the limiting factor, since that will have only the Save, Run,
and Stop buttons.

related to PR 13281
2012-11-29 09:43:05 -06:00
Robby Findler
5b18645a9a added spelling dictionary support
related to PR 13242
2012-11-22 19:24:22 -06:00
Robby Findler
b4b7340fd9 add guards so the module browser
status line isn't updated
anymore when it is closed

(probably) closes PR 13083
2012-11-22 14:53:31 -06:00
Robby Findler
c359e371bf add a toolbar option for being on the top,
but with the small size buttons

closes PR 13281
2012-11-21 21:43:44 -06:00
Robby Findler
d0ce0de398 change the way that the delegate text is specified, using
getter/setters instead of overriding a method

this has the benefit that the delegate does not have to be
rebuilt when switching tabs in drracket; we just leave the
old delegate on the old definitions text, and the swap it
back into the editor-canvas when we swap the text% object
itself back in.
2012-11-16 14:33:17 -06:00
Robby Findler
b822efb9e5 add a check when switching between tabs to only do the required
work when the current tab isn't the one we're switching to
2012-11-11 08:53:13 -06:00
Robby Findler
c5330194a9 improve drracket's response to an unhappy aspell program
Specifically, two things:

 - make drracket more careful to not crash when aspell
   doesn't behave, and

 - have a more careful test when clicking the menu item
   (it now does a trial run of aspell instead of just
    looking for the binary)

closes PR 13242 (I realize there is still a feature
request mentioned in the audit trail of that PR, but
since the main problem is fixed, I'll consider that
to just be something separate)
2012-11-10 13:00:09 -06:00
Robby Findler
4421e227ff when changing the error arrows, only invalidate the editor
when the arrows are actually different (just using eq? here)
2012-11-10 08:51:58 -06:00
Robby Findler
e89a121ae5 add some first-cut logging information to drracket
to track how long events take to be handled
2012-10-26 21:49:44 -05:00
Robby Findler
4787361d7f show a dialog box saying that aspell/ispell cannot be
found instead of just silently not checking the spelling

also, fix a bug in that case that used to cause drracket
to just crash
2012-10-15 07:41:42 -05:00
Robby Findler
72fa1d45a1 add capability to spell-check string constants
(calls out to ispell or aspell)
2012-10-14 17:40:56 -05:00
Robby Findler
2256ca39ea raise minimum memory limit in DrRacket to 8 megabytes 2012-08-07 12:12:56 -05:00
Robby Findler
70fac182c6 Add support to the show menu item to make ordering the items
simpler.

Use that support to adjust the Show menu to have a better
ordering for the built-in DrRacket items.
2012-07-17 13:07:41 -05:00
Neil Toronto
db57b78e18 Added lock-icon
Changed most *-icon and *-logo function arguments to keyword arguments

text-icon no longer uses font size

Small doc changes
2012-06-26 15:00:05 -06:00
Robby Findler
5280ef1517 clear the interactions text's undos from the drracket thread, not from the user thread 2012-03-25 17:25:48 -05:00
Robby Findler
0d6b825377 add a preference to control whether or not there is an extra
pixel of space in between lines in DrRacket.

This change is based on Matthew's experience having a look
at the font setup on the three platforms.

He writes:
>  * Mac OS X: the convention seems to be to add space between lines.
>   TextEdit, for example, looks like DrRacket: the maze has spaces.
>
>   (I can't find a font that makes the maze look right, actually, even
>   if I adjust the line spacing.)
>
>  * Windows: the convention seems to be that space is built into the
>   font. DrRacket (and SirMail) draw lines more sparsely than Notepad.
>
>   Perhaps consistent with the differing conventions, the height of
>   "Courier New" at 11-pixel size is 14 on Windows, 13 on Mac OS X.
>
>  * Unix: the convention seems to be to add space. DrRacket looks like
>   the default Terminal and Text Editor programs on Ubuntu.
>
>   The maze nevertheless looks right everywhere, because the glyphs
>   extend an extra pixel above the declared bounding box!
2012-03-24 20:20:05 -05:00
Robby Findler
f61f0830e5 change register-toolbar-button so that it accepts a number
argument and uses that to order the buttons in the DrRacket
panel.

Also, order all of the buttons via these numbers in
a more sane way
2012-02-25 16:57:49 -06:00
Neil Toronto
4d1cedc913 Removed accidental dependence of images/icons/stickman on racket/gui
Began scribble docs

Added `compiled-bitmap' and `compiled-bitmap-list', which embed bitmaps
computed at expansion time into compiled files (safe 3D values)

Please merge into release
2012-01-12 21:48:41 -07:00
Neil Toronto
436a1dcb71 Use running stickman in lower-right "run" indicator
Please merge into release
2012-01-12 11:22:01 -07:00
Neil Toronto
5736695bae Better debugger icon bomb 2012-01-10 15:21:49 -07:00
Neil Toronto
6ec78137e3 Caching with weak boxes, cleanup, planet download icon 2012-01-10 13:30:32 -07:00
Neil Toronto
1a00d2d51f Last icon rewrite!
This removes all the SVG sources, parsing, and marked-layer colorizing, the PNG binaries in the distribution, and the dependence of DrRacket on `slideshow/pict'.

Icons are now produced by drawing on a bitmap-dc%, inferring or building a z map, choosing a material, and sending these to a two-pass ray tracer. This is for the most part hidden behind an API consisting of functions from colors and optional sizes and materials to `bitmap%'s.

Contracts and documentation forthcoming.
2012-01-07 16:18:11 -07:00
Robby Findler
9bef0204bb fix the "Show Line Numbers" menu item so its label changes
when the preference changes

closes PR 12459
2011-12-25 13:39:14 -06:00
Robby Findler
cbab512dd1 adjust the way 'jump to next/prev error source loc' menu items work
so that they also highlight the error location in pink when jumping there
2011-12-07 16:18:17 -06:00
Neil Toronto
4334727609 Standardized SVG icon source sizes
New icons

New PLaneT logo
2011-12-07 10:56:07 -07:00
Neil Toronto
9c2386e40e Added `disk-icon', changed DrRacket "Save" icon 2011-12-07 10:50:39 -07:00
Robby Findler
2899fd0903 get rid of the obscenely long menu item name
closes PR 12423
2011-12-06 15:42:57 -06:00
Neil Toronto
29ad6b36b6 Replaced PLaneT logo
Replaced stop sign icons

Fixed some icons (esp. borders on shiny)
2011-12-01 23:04:27 -07:00
Robby Findler
7f96ee19e0 When opening a new file, first load the file into the definitions text
before wiring up / initializing the new tab.  This means that the
file's name is not asked for, and thus a new "untitled" number is not
allocated too early

closes PR 12361 (and hopefully introduces no new ones)
2011-11-30 16:55:55 -06:00
Robby Findler
458e2c2282 some long overdue Rackety: renaming the 'scheme:' exports of the framework to 'racket:' 2011-11-30 06:45:50 -06:00
Robby Findler
e935b1fa8e change the framework & drracket so that they still use the colorer
methods (paren matching, mostly) when the colorer is frozen
(but continue to avoid using them when the colrer is stopped)

closes PR 12374
2011-11-29 13:46:23 -06:00
Neil Toronto
4012373a8c Started icon reorganization
- SVG icon sources
 - Playback-style icons, logos, stop signs, magnifying glasses, etc., in diffuse and shiny styles
 - Program to pre-render SVG files (icons/private/svg/render-png.rkt)
 - Pre-rendered icons (PNGs in power-of-2 sizes)
 - Made `icons' a module, with functions to conveniently load icons and convert to/from picts
 - Scribble docs for `icons'
 - Used new icons in DrRacket toolbar
2011-11-28 22:09:15 -08:00
Robby Findler
25271be3e8 set the current-load-relative-directory to #f (initially) in drracket 2011-11-28 13:57:11 -06:00
Robby Findler
153dd73f6b adjust drracket to clean up the code that sets the initial value of
current-directory and current-load-relative-directory and to make
current-directory's initial value be the user's home directory
2011-11-28 13:29:55 -06:00
Robby Findler
e362888d6d add a menu item to put the interactions window beside/below the definitions window 2011-10-29 20:56:42 -05:00