summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
...
* Added 2 functions for initializing booean and string-table custom options.treectrl2005-07-101-3/+48
| | | | | OnScreenProcWindow: fix segfault when tkwin is NULL. Add stuff to stubs table to support shellicon extension.
* Added a bunch of stuff to the stubs table to support the shellicon ↵treectrl2005-07-101-1/+8
| | | | extension. This stubs table is not well-defined like the Tcl/Tk stubs tables.
* Changed QE_DeleteBinding to delete all bindings on the given object if the ↵treectrl2005-07-101-34/+84
| | | | | | | | eventString is NULL. This code was in TkWinEventProc. Changed TkWinEventProc to call QE_DeleteBinding. QE_GetAllBindings: stop searching if object was found since an object can only appear once in each BindValue chain. New QE_UnbindCmd allows unbinding all scripts on a given object.
* Declared QE_UnbindCmdtreectrl2005-07-101-1/+3
|
* UnsetClipMask works around Tk_DrawChars not clearing the clip region on Win32.treectrl2005-07-071-1/+17
|
* TreeTheme_DrawHeaderArrow implemented on WinXP to draw an arrow that looks ↵treectrl2005-07-071-4/+49
| | | | | | like Explorer's. TreeTheme_GetArrowSize added.
* Eliminated all "item I does not have column C" messages. There was no need ↵treectrl2005-07-071-88/+404
| | | | | | | | | | | | for the user to know if an item had a Column struct allocated for a given column or not. Implemented column spanning. A style may now extend over 2 or more columns within an item. Rewrote TreeItem_Draw. TreeItem_Identify, and TreeItem_Identify2. Added [item span] command. NoStyleMsg added to report an item doesn't have a style in a given column. Fixed new [item element configure] syntax to only check for + or , after every option-value pair. [item style set] returns a list with one string per tree column. Previously only allocated Column structs were reported. [item state forcolumn] now allocates a Column struct when setting the state for a column if one didn't exist. Previously an error was returned. [item bbox] no longer returns an error when getting the bounding box for an item column if the item column didn't have a Column struct allocated. [item text] returns one string per tree column if no column is specified.
* Bitmap, image and text elements are drawn clipped if given less space than ↵treectrl2005-07-071-19/+65
| | | | | | | they need. TextUpdateLayout: fiddled with debug messages. Fixed line wrapping of text elements. It did not work for single lines of text at all.
* [dragimage add] returns an error if a column has no style when attempting to ↵treectrl2005-07-071-16/+15
| | | | add specific elements to the drag image.
* Call new TreeTheme_GetArrowSize to determine size of sort arrow. I draw a ↵treectrl2005-07-071-5/+8
| | | | | | nice-looking sort arrow on WinXP (looks like Explorer's). Theme sort arrow is drawn offset by 1 when column header is pressed.
* Change TreeItem_Identify to write to a string instead of returning an ↵treectrl2005-07-071-1/+7
| | | | element name. Did this so the column can be determined by the item using its span info.
* Change TreeItem_Identify to write to a string instead of returning an ↵treectrl2005-07-071-2/+5
| | | | | | element name. Did this so the column can be determined by the item using its span info. Declare TreeTheme_GetArrowSize and UnsetClipMask.
* TreeItem_Delete: call TreeDisplay_ItemDeleted.treectrl2005-07-051-38/+285
| | | | | | | | Rename TreeItem_HideWindows to TreeItem_OnScreen. "item create" command accepts new arguments and allows creation of multiple items with a single call. "item element configure" allows configuring multiple elements in multiple columns with a single call. This deprecates the awful "item complex" command. "item style set" returns an error message if a style argument is missing. Previously an error was returned with no message. "item style set" does nothing when trying to replace a style with itself. Previously the old style was freed.
* Range_Redo/Range_TotalWidth: use new -itemwidth, -itemwidthequal and ↵treectrl2005-07-051-102/+188
| | | | | | | | -itemwidthmultiple options. UpdateDInfoForRange: avoid certain checks if a DItem is already marked for redraw. Tree_Display: moved the block of code which updates DInfo.itemVisHash before the code that draws items, and generate an <ItemVisibility> event. Added TreeDisplay_ItemDeleted to remove deleted items from DInfo.itemVisHash.
* TreeStyle_Draw: added call to Style_CheckNeededSize.treectrl2005-07-051-6/+7
| | | | Renamed TreeStyle_HideWindows to TreeStyle_OnScreen, and use the new ElementType.onScreen callback.
* Added <ItemVisibility> event.treectrl2005-07-051-1/+65
|
* Added ElementType.onScreenProc which is called when an item becomes visible ↵treectrl2005-07-051-10/+27
| | | | | | on screen and when it is no longer visible on screen. OnScreenProcWindow is used to hide Tk windows in "window" elements when an item is no longer on screen.
* Added ElementType.onScreenProc which is called when an item becomes visible ↵treectrl2005-07-051-1/+5
| | | | on screen and when it is no longer visible on screen.
* New option -itemwidth, -itemwidthequal and -itemwidthmultiple to replace the ↵treectrl2005-07-052-7/+29
| | | | column options -stepwidth and -widthhack.
* Cache the size of the expand/collapse button under XP for a massive speedup ↵treectrl2005-06-301-1/+20
| | | | of item layout.
* UpdateDInfoForRange: Items were not being redisplayed properly if they moved ↵treectrl2005-06-291-6/+11
| | | | to a different-sized range.
* Fixed possible performance problem with "selection clear" (hash tables get ↵treectrl2005-06-291-1/+12
| | | | bigger, but they never get smaller. It can take a while to iterate over all those empty buckets).
* More Invalidate/FreeItemDInfo fixes.treectrl2005-06-291-1/+58
| | | | Fixed a massive performance hit with "item delete all" when there were many orphan items.
* Removed ElementArgs.display.pad and ElementArgs.display.squeeze which were ↵treectrl2005-06-202-8/+5
| | | | unused.
* Style_DoLayoutH: Allow column justification to occur when a -detach element ↵treectrl2005-06-201-86/+77
| | | | | | | | is larger than the non-union, non-detach elements. Previously justification would only occur if the available space was greater than that needed by the style. Style_DoLayoutH: Allow column justification to occur when elements expand horizontally. This applies when -expand and -iexpand do not specify w or e, but -iexpand does specify x, and the -maxwidth is not {}. Basically, if there is some space left over after expansion then justification will occur. Style_DoLayoutH/V: The internal padding is added to the display area of -union elements, and the internal padding is set to zero. This works in conjunction with the changes in TreeStyle_Draw and TreeStyle_UpdateWindowPositions. TreeStyle_Draw/TreeStyle_UpdateWindowPositions: Fixed bug where -union elements were not displayed if the elements they surrounded had zero height or width. Also removed ElementArgs.display.pad and ElementArgs.display.squeeze which were unused.
* Fixed unix compile issue. [BUG 1222277]treectrl2005-06-181-8/+23
| | | | Fixed per-state-info crash [BUG 1222419]
* Removed unused variable.treectrl2005-06-151-1/+5
|
* Allow expansion of non-detach non-union elements if a -detach element is ↵treectrl2005-06-151-254/+200
| | | | | | larger than them all. Previously expansion would only occur if the available space was greater than the needed space of the style. Alphabetized style layout options, and moved option-to-Tcl_Obj code to a new function.
* Removed gobs of conditional compilation code.treectrl2005-06-143-456/+9
|
* Keep a free list of TextLayout's.treectrl2005-06-131-7/+86
| | | | | Track the total width of a text layout to work around an issue in the "text" element type. AllocHax_Alloc doubles the size of allocated blocks from 16 up to 1024, instead of always using a fixed size of 128.
* Style_DoExpandH rearranged to allocate space to the right padding before the ↵treectrl2005-06-131-206/+405
| | | | | | | | | | | | | left. Style_DoExpandV rewritten to use the same algorithm as Style_DoExpandH. Style_DoLayoutH: properly calculate Layout.useWidth for -union layout. Style_DoLayoutV: expand elements vertically using same algorithm as Style_DoLayoutH. Changed Style_DoLayout to use the new ElementType.heightProc. Also consider the -minheight, -height, and -maxheight style layout options. Style_NeededSize: consider min/max width/height style layout options. ElementType.layoutProc renamed to ElementType.neededProc. TreeStyle_NeededHeight: basically the same, but doesn't return Style.minHeight since that didn't take into account text wrapping. TreeStyle_Draw/TreeStyle_UpdateWindowPositions/TreeStyle_GetElemRects: the -ipadx and -ipady padding is no longer added to the display area of an element (although there is no change wrt -union layout). StyleLayoutCmd: fixed bug where -iexpand xy were not cleared.
* Renamed LayoutProcXXX to NeededProcXXX for all element types.treectrl2005-06-131-115/+206
| | | | | | | | | Added heightProc to all element types (NULL for all except "text"). Moved some statements in TextUpdateLayout to return earlier if possible. Also handle new args fixedWidth and maxWidth which were added to support the -width and -maxwidth style layout options. TextRedoLayoutIfNeeded replaces a bit of code in the old LayoutProcText. Call TextRedoLayoutIfNeeded within DisplayProcText. Previously we knew TextUpdateLayout was called by LayoutProc, but that may no longer be the case if the style layout -width and -height options are set. The old LayoutProc (renamed to NeededProc) was changed to always update the text layout. Also handle the -width and -maxwidth style layout options. Added HeightProcText to figure out if the height of the text changed due to lines wrapping. LayoutProc used to be overloaded to perform this calculation.
* Renamed ElementType.layoutProc to ElementType.neededProc, since it gets the ↵treectrl2005-06-131-4/+12
| | | | | | | needed size of the element. Renamed ElementArgs.layout to ElementArgs.needed and added some fields to handle the new -width/-maxwidth style layout options. Added ElementType.heightProc for the "text" element which can expand vertically when lines wrap. Previously layoutProc was called for this in addition to getting the needed size.
* Added -textlayout debug option.treectrl2005-06-131-1/+4
|
* Added -textlayout debug option.treectrl2005-06-131-1/+3
| | | | Declared TextLayout_TotalWidth.
* New style layout option "-sticky" controls how an element is ↵treectrl2005-06-101-281/+384
| | | | | | | stretched/positioned within its parcel of space. Extended -iexpand option to accept x and y chars, to allow the parcel of space to be expanded. Previously only the -ipad values were stretched by -iexpand. New style layout options -maxwidth and -maxheight.
* Changes to support the new style layout option "-sticky".treectrl2005-06-101-1/+11
|
* Added -draw option to the new "window" element type.treectrl2005-06-101-93/+289
| | | | Changes to support the new style layout option "-sticky".
* Aesthetic changes.treectrl2005-06-101-25/+15
|
* Fix Tree_ItemBbox to ensure tree->columnCountVis is up-to-date.treectrl2005-06-081-1/+4
|
* Rewrote Style_DoExpandH and Style_DoExpandV to handle -expand and -iexpand ↵treectrl2005-06-081-6/+237
| | | | | | at the same time. Previously -expand was ignored if -iexpand was specified. "style layout $S $E -detach" and "style layout $S $E -indent" return "yes" or "no" instead of "1" or "0" to agree with "style layout $S $E".
* New command "item range" deprecates old command "range".treectrl2005-06-081-5/+38
|
* Binding scripts on a Tk window are automatically deleted if the window is ↵treectrl2005-06-081-1/+138
| | | | destroyed.
* Fixed panic attacks in Style_DoLayout caused by LAYOUTHAX changes (caller ↵treectrl2005-06-061-84/+54
| | | | | | was not setting drawArgs->width properly). Properly save/restore config options in "style layout" command upon error.
* LAYOUTHAX code accepted, removed conditional compilation.treectrl2005-06-064-221/+35
|
* Added -minwidth, -minheight, -width, -height style layout options.treectrl2005-06-061-33/+291
|
* Fixed y-position bug in Style_DoLayoutV.treectrl2005-06-041-135/+107
| | | | | | | | | Fixed bug calculating needed height of style with -union elements. Not sure how Style_DoLayoutNeededV ever worked correctly. Combined Style_DoLayout and Style_DoLayout2 since they were 99% the same. Changed Style_NeededSize to return whether the style has any -squeeze elements. This is used to avoid an unnecessary call when determining the minimum style size. Optimize TreeStyle_NeededWidth/Height by using cached values. NEEDED_HAX code present simply to test that I am allowed to use those cached values. Optimize TreeStyle_UseHeight by using cached values. Style.layoutWidth already existed for this purpose but wasn't set properly. Changed TreeStyle_UndefineState to always invalidate the layout of every element/column/item.
* Use ALLOC_HAX for allocating/freeing per-state data.treectrl2005-06-041-2/+25
| | | | PerStateInfo_Undefine changed to return indication of whether anything was modified.
* Renamed TreeItem_Undefine to TreeItem_UndefineState.treectrl2005-06-041-2/+2
|
* Increased size of static storage in TreeNotify_Selection.treectrl2005-06-041-2/+2
|