NT4/private/wangview/norway/thumbctl
2020-09-30 17:12:29 +02:00
..
src First commit 2020-09-30 17:12:29 +02:00
tlb First commit 2020-09-30 17:12:29 +02:00
ctlhids.h First commit 2020-09-30 17:12:29 +02:00
dirs First commit 2020-09-30 17:12:29 +02:00
disphids.h First commit 2020-09-30 17:12:29 +02:00
dlgsize.cpp First commit 2020-09-30 17:12:29 +02:00
dlgsize.h First commit 2020-09-30 17:12:29 +02:00
imgthumb.odl First commit 2020-09-30 17:12:29 +02:00
indicate.bmp First commit 2020-09-30 17:12:29 +02:00
makefile.sav First commit 2020-09-30 17:12:29 +02:00
makehelp.bat First commit 2020-09-30 17:12:29 +02:00
readme.txt First commit 2020-09-30 17:12:29 +02:00
resource.h First commit 2020-09-30 17:12:29 +02:00
stdafx.cpp First commit 2020-09-30 17:12:29 +02:00
stdafx.h First commit 2020-09-30 17:12:29 +02:00
thumb32.def First commit 2020-09-30 17:12:29 +02:00
thumb32.mak First commit 2020-09-30 17:12:29 +02:00
thumb.def First commit 2020-09-30 17:12:29 +02:00
thumb.hpj First commit 2020-09-30 17:12:29 +02:00
thumb.ico First commit 2020-09-30 17:12:29 +02:00
thumb.lic First commit 2020-09-30 17:12:29 +02:00
thumb.mak First commit 2020-09-30 17:12:29 +02:00
thumb.rc First commit 2020-09-30 17:12:29 +02:00
thumb.rc2 First commit 2020-09-30 17:12:29 +02:00
thumbct1.cpp First commit 2020-09-30 17:12:29 +02:00
thumbct2.cpp First commit 2020-09-30 17:12:29 +02:00
thumbct3.cpp First commit 2020-09-30 17:12:29 +02:00
thumbctl.bmp First commit 2020-09-30 17:12:29 +02:00
thumbctl.cpp First commit 2020-09-30 17:12:29 +02:00
thumbctl.h First commit 2020-09-30 17:12:29 +02:00
thumbppg.cpp First commit 2020-09-30 17:12:29 +02:00
thumbppg.h First commit 2020-09-30 17:12:29 +02:00
thumnail.cpp First commit 2020-09-30 17:12:29 +02:00
thumnail.h First commit 2020-09-30 17:12:29 +02:00
transbmp.cpp First commit 2020-09-30 17:12:29 +02:00
transbmp.h First commit 2020-09-30 17:12:29 +02:00

12/06/1995   11:05 pm   : Last update
paj                     : Last update by
12/06   OIWH            : O/i version required

NORWAY THUMBNAIL CONTROL README FILE:
Revision History at end of file (most recent revision last)

Properties (in alphabetical order)
------------------------------------------------------------------------
-AutoRedraw
05/22/95 - acm
Default currently set to TRUE for testing (should be FALSE for FCS)
Coded
Renamed to AutoRefresh...

-AutoRefresh
05/22/95 - acm
Renamed FROM AutoRedraw...

-BackColor 
04/21/95 - acm
Coded

-BorderStyle
04/21/95 - acm
Coded

-DisplayAnnotations
04/21/95 - acm
Not tested, awaiting O/i changes
04/27/95 - acm
Fixed bug where displayed page in page array not being cleared to 
force re-display of 'new' thumbnail (i.e., w vs wo annotations burned
in) in subsequent repaints...
04/28/95 - acm
Got new O/i from Rudy. This seems to be working!

-DragDropPageSorting
04/21/95 - acm
NOT SUPPORTED FCS

-Enabled 
04/21/95 - acm
Coded

-FirstSelectedThumb
04/21/95 - acm
Coded

-HighlightColor
04/21/95 - acm
Coded

-HighlightSelectedThumbs
04/21/95 - acm
Coded

-Hwnd 
04/21/95 - acm
Coded

-Image
04/21/95 - acm
Coded

-LastSelectedThumb
04/21/95 - acm
Coded

- MouseIcon
05/10/95 - acm
Property added as per new requirements
Used when MousePointer is set to 99 (Custom). 
Currently allows specification of types OTHER than ICO and CUR but these 
other types do not seem to work. 
This issue/bug is currently under investigation.

06/01/95 - acm
Specifying types other than ICO and CUR (via VB's browse dialog at
design time) throws CTL_E_WCOMMON_INVALIDICON.

- MousePointer
05/10/95 - acm
Property added as per new requirements
Sets mouse pointer to one of the available mouse pointers. See thumbext.h
for valid types...

-ScrollDirection
04/21/95 - acm
Coded, only vertical scrolling supported for now. 
Can set Horizontal but will not work or report error!
05/03/95 - acm
Support for horizontal scrolling

-SelectedThumbCount
04/21/95 - acm
Coded

-StatusCode
04/21/95 - acm
Coded

-ThumbBackColor
04/21/95 - acm
Coded

-ThumbCaption
04/21/95 - acm
Not currently used, see ThumbCaptionStyle

-ThumbCaptionColor
04/21/95 - acm
Coded

-ThumbCaptionFont
04/21/95 - acm
Coded

-ThumbCaptionStyle
04/21/95 - acm
Partially Coded, CAPTION and WITHANN styles not coded

06/02/95 - acm
CODED

-ThumbCount
04/21/95 - acm
Coded

-ThumbSelected[ ]
04/21/95 - acm
Coded

Methods (in alphabetical order) 
------------------------------------------------------------------------
-AboutBox
04/21/95 - acm
Coded, fianl appearance still TBD

-ClearThumbs
04/21/95 - acm
Coded

-CopyThumbToClipboard
04/21/95 - acm
NOT SUPPORTED FCS

-DeleteThumbs
04/21/95 - acm
TBD

-DeselectAllThumbs
04/21/95 - acm
Coded

-DisplayThumbs
04/21/95 - acm
Coded

-DoClick 
04/21/95 - acm

06/02/95 - acm
CODED (some time ago!)

-GenerateThumb
04/21/95 - acm
Coded

-GetMaximumSize
04/21/95 - acm
Coded - VERTICAL scrolling support only

06/02.95 - acm
Coded (some time ago)

-GetMinimumSize
04/21/95 - acm
Coded - VERTICAL scrolling support only

06/02.95 - acm
Coded (some time ago)

-GetScrollDirectionSize
04/21/95 - acm
Not coded

06/02.95 - acm
Coded (some time ago)

-InsertThumbs
04/21/95 - acm
Not coded

-MoveThumbs
04/21/95 - acm
Not coded

-PrintThumbs
04/21/95 - acm
NOT SUPPORTED FCS

-Refresh
04/21/95 - acm
Coded

-SaveThumbsToFile
04/21/95 - acm
NOT SUPPORTED FCS

-ScrollThumbs
04/21/95 - acm
Coded - VERTICAL scrolling support only 

06/02.95 - acm
Coded (some time ago)

-SelectAllThumbs
04/21/95 - acm
Coded

-UISetThumbSize
04/21/95 - acm
Functionality coded, UI to change
04/24/95 - acm
UI updated to Dan's initial specifications. Changes still in progress...
04/26/95 - acm
UI updated to Dan's specifications. 
Method changed to accept image and page (See HISTORY, below)...

Events (in alphabetical order) 
------------------------------------------------------------------------
-KeyDown
04/21/95 - acm
Coded

-KeyUp
04/21/95 - acm
Coded

-Click
04/21/95 - acm
Coded

-DblClick
04/21/95 - acm
Coded

-MouseDown
04/21/95 - acm
Coded

-MouseMove
04/21/95 - acm
Coded

-MouseUp
04/21/95 - acm
Coded


General 
------------------------------------------------------------------------
-Thumbnail display
04/21/95 - acm
Current issues with O/i:
      - 4 bit paletized images display incorrectly in COMMON palette window
        (Brian has fix in future O/i version)
      - COMMON palett not working properly. I.e. color thumbnail may not 
        display properly. (Brian investigating)
      - SaveToFileEx problems with overwriting files that exist
        (Rudy is fixing)


Performance 
------------------------------------------------------------------------
Test:
Run IEdit, open 20p.tif. Maximize window, switch to thumbnail view
pre multi-page O/i  (oiwe 188) : ~31 seconds
post multi-page O/i (oiwg  87) : ~21 seconds

------------------------------------------------------------------------
------------------------------------------------------------------------ 
HISTORY:

04/21/95 - acm
-First post of readme.txt
-Performance issues not looked at yet.
-Horizontal scroll not supported ANYWHERE
-O/i NOT stable (i.e., untested oiwg 87). Known problems w/ overwriting
files/pages, display of 4bit pal images, common palette problems.

04/24/95 - acm
- Control NOT to insertable (e.g., in Word via Insert Object menu). The
  code has been updated to reflect this.
- Dereg/Destroy of Hidden Image Display Window moved to Control's destructor 
  (from OnDestroy handler) so that window is O/i dereg'd if Control's window
  is NEVER created. The way IEdit uses the control was leaving O/i loaded
  after a file was opened (but the thumbnails never displayed).

04/26/95 - acm
- UISetThumbSize dialog UI updated to Dan's latest.
  Dialog now displays image in thumbnail box (via O/i fit-to-window)...

- UISetThumbSize method now takes two parameters: 
  
  UISetImagePage(Image,Page)
  - Image is a string and is optional. If not specified an empty string
    is assumed.  
  - Page is a long and is optional. If not specified a value of 1 is
    assumed.
 
  The Image/Page parameter pair describes the image which is displayed in
  the dialog's sample thumbnail box. An empty Image string implies no
  image/page is top be displayed.

  The method will throw an error if the specified image/page pair cannot
  be accessed (i.e., does not exist, cannot be displayed, etc.)
  Both are optional. 

- Fixed a bug in the the events where clicking in a partially populated 
  row of thumbnails, where a thumbnail box WOULD be if the row were fully
  populated, would indicate that a thumb BEYOND the number of thumbs
  in the Image was clicked on!

04/27/95 - acm
- Fixes to DisplayAnnotations property and display of thumbnails with vs
  without annotations in general. Note that for this to actually work an
  outstanding bug in O/i still needs to be fully fixed. The version 
  (of seqfile)that I am now using is from Rudy and it now saves the 
  thumbnail image in the correct size BUT still does not burn in 
  the annotations!

04/28/95 - acm
- Fix bug in UISetThumbSize where initial Aspect was maintain ratio
  but dragging did not maintain ratio...
- Split out drawing code in preperation for Horizontal scroll drawing...
- Work done on displaying vs not displaying annotations on thumbs (we need to
  move up to a newer O/i to get this!)
- Started working on display of annotation indicator in lable...

05/03/95 - acm
- Annotation indicator in caption now working. Does not yet draw 
  transparently on all displays. Awaiting input from Microsoft (via John 
  Pratt) regarding Win '95.
- Added support for horizontal scrolling...
- Now deletes temp thumb file
- Found out that a newer (than oiwg 87) version of O/i is NOT currently 
  available...

05/08/95 - acm
- Built and priliminarily tested against OIWG 91...
- GetScrollDirectionSize now takes an additional parameter (thumbs 
  in non-scroll direction) - Doc to be updated...
- Annotation indicator bitmap in caption now blits transparently...


05/10/95 - acm
- Added MousePointer and MouseIcon properties 
        Currently allows specification of types OTHER than ICO and CUR 
        but these other types do not seem to work. 
This issue/bug is currently under investigation.
- Added typedef information such that VB's browser and properties dialogs
  now show the enumerated property's data types...

05/12/95 - acm
- hWnd, BackColor, Enabled, and BorderStyle are now implemented as Custom 
  properties such that they set/use the AutoRedraw and/or StatusCode 
  properties as expected.
- The selection count properties (SelectedTuhmbCount, FirstSelectedThumb, 
  and LastSelectedThumb no longer appear in VB's properties window 
  (Docs for SelectedThumbCount to be altered to remove 'DesignTime' 
  availability)
- AutoRedraw property now defaults to TRUE. 
  The Docs are to be updated to reflect the side effects of leaving it set 
  to FALSE and uncovering a partially covered control window
- Readonly properties now set the StatusCode property appropriatly when an
  attempt to write to them is made.
- BorderStyle now works
- Refresh method now coded as custom method in order to set StatusCode
- DoClick method is under investigation (has no means to specify WHERE!)

05/18/95 - acm
- NOW RUNS AS 32bit CONTROL IN WIN95!!!
- Fixed bug in UISetThumbSize where thumbs were not being drawn in
  correct locations...

05/19/95 - acm
- Clearthumbs now requires Image property be set
- Clearthumbs now invalidates either the entire control 
  (if Pagenumber = 0) or the page being cleared IF AUTOREDRAW is TRUE
- GenerateThumbs now invalidates the page being generated if Option
  is GENERATENOW AND AUTOREDRAW is TRUE!
- Property page now meets Microsoft guidelines for size (250x110)

05/22/95 - acm
- AutoRedraw property renamed to AutoRefresh
- DoClick method NOW takes 2 parameters, XPosition and YPosition.
  Both are long and represent the point at which the LEFT mouse button
  click is to be simulated. The Positions are in pixels with respect to
  the client area of the control. In that a 'real' click event always
  occurs INSIDE the control (i.e., if one clicks OUTSIDE the control
  the control does not get the click!!) the DoClick method verifies
  that the (X,Y) point lies within the control's window. If it does not
  an error is thrown (error # TBD)
- Image property can now be set to an empty string, esentailly
  resetting the control to its initial state...
- Calls to SCROLLBAR stuff is NOT done during layout recalculation if
  the control does not yet have a window... (This was causing Miki
  problems in Win95 and Warnings in Win3.1)
- itoa is now _itot
- atoi is now _ttoi
- char declarations now use TCHAR

05/24/95 - acm
- Further code cleanup

06/01/95 - acm
- Now using common includes...
- MouseIcon property MUST be set to either a .CUR or .ICO file.
Setting to any other type throws an error. Setting to a non-picture
file (e.g., x.txt) throws the stock error generated by MFC
(CTL_E_INVALIDPICTURE?). Setting to a valid picture BUT NOT AN ICON
(e.g., WMF, BMP) throws CTL_E_WCOMMON_INVALIDICON.
- UNDOCUMENTED, HIDDEN properties FirstDisplayedThumb and
LastDisplayedThumb added. These are intended for QA use only.
These are the 1st and last thumbnail which
are currently displayed. 0 indicates none displayed yet. ANY portion
of the thumbnail (e.g., thumbnail box, label, selection box area)
qualifies as a displayed thumbnail.
- UNDOCUMENTED, HIDDEN methods GetThumbPositionX and
GetThumbPositionY added. These are intended for QA use only!!
These both return a long and take a long. The passed parameter is
ThumbNumber and must lie between FirstDisplayedThumb and
LastDisplayedThumb (inclusive) or else LONG_MAX will be returned. 

06/06/95 - acm
- DeleteThumbs is now working!
- DeleteThumbs if passed DeleteAt = 1 and DeleteCount = ThumbCount
  treats it as the equivalent as setting Image to "". NO check to see
  that the file does not exist is performed. (Whereas if thumbs are
  deleted a check is made against the Image file to ensure that the
  file's page count matches the requested new thumb count)
- UISetThumbSize now returns TRUE/FALSE (instead of IDOK/IDCANCEL)
- UISetThumbSize now limits thumbbox to size of dialog's control

06/07/95 - acm
- Additional error checking for DeleteThumbs
- InsertThumbs is now working!

06/08/95 - acm
- Checked in InsertThumbs stuff...

06/12/95 - acm
- MoveThumbs seems to be working... (will check in soon!)
- Fixed selection count/First&Last Selected thumb properties after
  move/insert/delete. These were not being updated to reflect the
  move/insert/delete.
- Note that InsertThumbs and MoveThumbs are not currently checking for 
  out of memory errors when they Insert into the internal arrays.
  This will have to be fixed before release!!!

06/13/95 - acm
- MoveThumbs WILL NOT BE SUPPORTED FOR FCS!!! (There is no
  corresponding functionality in the Admin control to perform the Move
  on the file...)
- Browse... in the properties dialog now brings up O/i's Open dialog
  (Note that the OK button says Open... Yuck!!! But I can't change it
  (or so I'm told!) )
- The order of the Tabs in the properties dialog was altered for
  consistancy with our other controls. After talking to Dan we agreed
  that alphabetical (IN ENGLISH!, and thus Color, Font, and Picture) 
  was the best...

06/19/95 - acm
- SetThumbCaption - simplified final 'if' (autorefresh)
- IDC_NO for NO DROP cursor (instead of ARROW)
- Simply overflow testing in Get Min/Max/ScrollDirection Size

06/21/95 - acm
- DoClick error code changed to INVALIDMETHODPARAMETER when position
  passed as parameters is not in control (with a new associated error 
  string)

06/22/95 - acm
- No longer calling:
  IMGFileInfoCgbw(...), now calling
  IMGFileGetInfo(NULL, ..., NULL)

10/02/95 - mfh
- Added help id to odl file for AboutBox method
- Fixed bug:  When a visible thumb was moved, it was being displayed, 
              moved, and repainted, but the first display was not cleared
              when the window was moved.  Now does not display until after
              being moved.

10/03/95 - mfh
- Fixed Error code strings

10/04/95 - MFH
- Added a control id to image window in thumb size dialog box
  so that user gets context sensitive help.

10/06/95 - MFH
- Changed help id for AboutBox method to be common one for all controls.
- Added help context ids for constant values
- Added checks for NULL pointers to SetImage and SetThumbCaption.  I 
   managed to get a NULL pointer passed to the Admin control from VB and
   this caused a GPF, so fixed here as well as in Admin.

10/19/95 - MFH
- Fixed bug where GPF would occur because thumbnail is too small 
  for an AWD file whose asymmetrical resolutions cause the scaled 
  image to be too small.  An error was properly fired, but 
  display was not halted. (Bug #4978)
- Fixed performance for the scrolling and painting of the 
  thumbnail background especially for files with more pages.

10/22/95 - MFH 
- Added overrides of FireError and DisplayError so that 
  multiple errors are not displayed.

11/01/95
- Changed FireError to be a custom event called FireErrorThumb
- Fixed the AboutBox
- Added a hidden method - GetVersion

11/02/95
- Added delayed loading of OIUI400 dll when needed

11/03/95
- Change behavior of ThumbSizeDialog box so that it 
  does not allow the thumb to be smaller than the 
  resolution of the currently displayed image is capable.
- Fixed disp ids of GetVersion and ThumbSelected property

11/10/95
- Changed dispatch ids to allow for further expansion
- Changed sizing of display windows for mismatched x & y resolutions
     to match how it is done in the IDK
- Fixed bug where active window not restored after thumb sizing dialog 
     displayed leaving control vulnerable to problems.

12/6/1995 - paj
- Fix for bounded rect. was in code and tested 2 weeks left in.
- Limit drawing of thumbs to MAXTHUMBSTART since this is a static
    array, and after fixing IMGRegWndw the array GPFs. without limiting.
- Clean up in destructor of class CTransBmp.  Object used was not freed.

*****************************************************************************
9602.14 Captain Russo reporting...
FILE:   Thumbctl.cpp

[] for the FireError, I changed one of the parameters from VTS_SCODE to
   VTS_I4. Apparently, this was ok with the Visual C++ 2.2, but not ok with
   Visual C++ 4.0; by ok, we mean to say that the application was receiving
   the FireError with 2.2, but no longer recieved it with 4.0, until this
   change was made.
*****************************************************************************
9602.23 Captain Russo reporting...
FILE:   Thumbct2.cpp dlgsize.cpp

fire drill du jour, switch to eradicate any casts from int/int* or
uint/uint* to WORD/WORD* or short/short*

*****************************************************************************
9602.26 Captain Russo reporting...
FILE:   Thumbct1.cpp Thumb32.mak

today's fire drill, thumb caption font hoopla. changed the
default font to use the macro, OLESTR and added "_WIN32" to the
compiler defines

*****************************************************************************
9603.06 Captain Russo reporting...
FILE:   Thumbct1.cpp Thumbctl.h Thumbctl.cpp

added kludge fix for the nt portion, so that the thumbnail will show the
proper cursor

*****************************************************************************