NT4/private/wangview/norway/iedit95/thumb.cpp
2020-09-30 17:12:29 +02:00

533 lines
12 KiB
C++

//=============================================================================
// (c) Copyright Wang Laboratories, Inc. 1995 All rights reserved.
//-----------------------------------------------------------------------------
// Project: Norway - Image Editor
//
// Component: _DThumb
// _DThumbEvents
//
// File Name: thumb.cpp
//
// Class: _DThumb
// _DThumbEvents
//
// Functions:
//-----------------------------------------------------------------------------
// Maintenance Log:
/*
$Header: S:\norway\iedit95\thumb.cpv 1.9 10 Nov 1995 16:47:50 MMB $
$Log: S:\norway\iedit95\thumb.cpv $
Rev 1.9 10 Nov 1995 16:47:50 MMB
new thumbocx
Rev 1.8 03 Nov 1995 15:30:58 GMP
changed dispatch id for get/set ThumbSelected from 0x23 to 0x24 to match
changes in thumbnail ocx.
Rev 1.7 29 Sep 1995 18:51:12 MMB
comment out the thumb generation code
Rev 1.6 07 Aug 1995 16:06:06 MMB
new Thumb OCX
Rev 1.5 01 Aug 1995 16:07:42 MMB
new Thumbnail OCX
Rev 1.4 20 Jul 1995 09:57:12 MMB
new thumbnail OCX
Rev 1.3 05 Jul 1995 14:11:26 MMB
new Thumb OCX
Rev 1.2 08 Jun 1995 09:40:20 MMB
renamed thumb,scan.h to thumbocx & scanocx.h
Rev 1.1 02 Jun 1995 12:11:36 MMB
new Thumb OCX
Rev 1.0 31 May 1995 09:28:36 MMB
Initial entry
*/
//=============================================================================
// ----------------------------> Includes <-------------------------------
#include "stdafx.h"
#include "thumbocx.h"
// ----------------------------> Globals <-------------------------------
/////////////////////////////////////////////////////////////////////////////
// _DThumb properties
long _DThumb::GetThumbCount()
{
long result;
GetProperty(0x1, VT_I4, (void*)&result);
return result;
}
void _DThumb::SetThumbCount(long propVal)
{
SetProperty(0x1, VT_I4, propVal);
}
long _DThumb::GetThumbWidth()
{
long result;
GetProperty(0x2, VT_I4, (void*)&result);
return result;
}
void _DThumb::SetThumbWidth(long propVal)
{
SetProperty(0x2, VT_I4, propVal);
}
long _DThumb::GetThumbHeight()
{
long result;
GetProperty(0x3, VT_I4, (void*)&result);
return result;
}
void _DThumb::SetThumbHeight(long propVal)
{
SetProperty(0x3, VT_I4, propVal);
}
short _DThumb::GetScrollDirection()
{
short result;
GetProperty(0x4, VT_I2, (void*)&result);
return result;
}
void _DThumb::SetScrollDirection(short propVal)
{
SetProperty(0x4, VT_I2, propVal);
}
short _DThumb::GetThumbCaptionStyle()
{
short result;
GetProperty(0x5, VT_I2, (void*)&result);
return result;
}
void _DThumb::SetThumbCaptionStyle(short propVal)
{
SetProperty(0x5, VT_I2, propVal);
}
LPDISPATCH _DThumb::GetThumbCaptionFont()
{
LPDISPATCH result;
GetProperty(0x7, VT_DISPATCH, (void*)&result);
return result;
}
void _DThumb::SetThumbCaptionFont(LPDISPATCH propVal)
{
SetProperty(0x7, VT_DISPATCH, propVal);
}
BOOL _DThumb::GetHighlightSelectedThumbs()
{
BOOL result;
GetProperty(0x8, VT_BOOL, (void*)&result);
return result;
}
void _DThumb::SetHighlightSelectedThumbs(BOOL propVal)
{
SetProperty(0x8, VT_BOOL, propVal);
}
long _DThumb::GetSelectedThumbCount()
{
long result;
GetProperty(0x9, VT_I4, (void*)&result);
return result;
}
void _DThumb::SetSelectedThumbCount(long propVal)
{
SetProperty(0x9, VT_I4, propVal);
}
long _DThumb::GetFirstSelectedThumb()
{
long result;
GetProperty(0xa, VT_I4, (void*)&result);
return result;
}
void _DThumb::SetFirstSelectedThumb(long propVal)
{
SetProperty(0xa, VT_I4, propVal);
}
long _DThumb::GetLastSelectedThumb()
{
long result;
GetProperty(0xb, VT_I4, (void*)&result);
return result;
}
void _DThumb::SetLastSelectedThumb(long propVal)
{
SetProperty(0xb, VT_I4, propVal);
}
CString _DThumb::GetThumbCaption()
{
CString result;
GetProperty(0xc, VT_BSTR, (void*)&result);
return result;
}
void _DThumb::SetThumbCaption(LPCTSTR propVal)
{
SetProperty(0xc, VT_BSTR, propVal);
}
long _DThumb::GetStatusCode()
{
long result;
GetProperty(0xf, VT_I4, (void*)&result);
return result;
}
void _DThumb::SetStatusCode(long propVal)
{
SetProperty(0xf, VT_I4, propVal);
}
CString _DThumb::GetImage()
{
CString result;
GetProperty(0x10, VT_BSTR, (void*)&result);
return result;
}
void _DThumb::SetImage(LPCTSTR propVal)
{
SetProperty(0x10, VT_BSTR, propVal);
}
short _DThumb::GetMousePointer()
{
short result;
GetProperty(0x11, VT_I2, (void*)&result);
return result;
}
void _DThumb::SetMousePointer(short propVal)
{
SetProperty(0x11, VT_I2, propVal);
}
LPDISPATCH _DThumb::GetMouseIcon()
{
LPDISPATCH result;
GetProperty(0x12, VT_DISPATCH, (void*)&result);
return result;
}
void _DThumb::SetMouseIcon(LPDISPATCH propVal)
{
SetProperty(0x12, VT_DISPATCH, propVal);
}
short _DThumb::GetBorderStyle()
{
short result;
GetProperty(0xfffffe08, VT_I2, (void*)&result);
return result;
}
void _DThumb::SetBorderStyle(short propVal)
{
SetProperty(0xfffffe08, VT_I2, propVal);
}
BOOL _DThumb::GetEnabled()
{
BOOL result;
GetProperty(0xfffffdfe, VT_BOOL, (void*)&result);
return result;
}
void _DThumb::SetEnabled(BOOL propVal)
{
SetProperty(0xfffffdfe, VT_BOOL, propVal);
}
short _DThumb::GetHWnd()
{
short result;
GetProperty(0xfffffdfd, VT_I2, (void*)&result);
return result;
}
void _DThumb::SetHWnd(short propVal)
{
SetProperty(0xfffffdfd, VT_I2, propVal);
}
long _DThumb::GetFirstDisplayedThumb()
{
long result;
GetProperty(0x13, VT_I4, (void*)&result);
return result;
}
void _DThumb::SetFirstDisplayedThumb(long propVal)
{
SetProperty(0x13, VT_I4, propVal);
}
long _DThumb::GetLastDisplayedThumb()
{
long result;
GetProperty(0x14, VT_I4, (void*)&result);
return result;
}
void _DThumb::SetLastDisplayedThumb(long propVal)
{
SetProperty(0x14, VT_I4, propVal);
}
/////////////////////////////////////////////////////////////////////////////
// _DThumb operations
void _DThumb::SelectAllThumbs()
{
InvokeHelper(0x65, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
void _DThumb::DeselectAllThumbs()
{
InvokeHelper(0x66, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
long _DThumb::GetMinimumSize(long ThumbCount, BOOL ScrollBar)
{
long result;
static BYTE BASED_CODE parms[] =
VTS_I4 VTS_BOOL;
InvokeHelper(0x67, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
ThumbCount, ScrollBar);
return result;
}
long _DThumb::GetMaximumSize(long ThumbCount, BOOL ScrollBar)
{
long result;
static BYTE BASED_CODE parms[] =
VTS_I4 VTS_BOOL;
InvokeHelper(0x68, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
ThumbCount, ScrollBar);
return result;
}
void _DThumb::ClearThumbs(const VARIANT& PageNumber)
{
static BYTE BASED_CODE parms[] =
VTS_VARIANT;
InvokeHelper(0x69, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
&PageNumber);
}
void _DThumb::InsertThumbs(const VARIANT& InsertBeforeThumb, const VARIANT& InsertCount)
{
static BYTE BASED_CODE parms[] =
VTS_VARIANT VTS_VARIANT;
InvokeHelper(0x6a, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
&InsertBeforeThumb, &InsertCount);
}
void _DThumb::DeleteThumbs(long DeleteAt, const VARIANT& DeleteCount)
{
static BYTE BASED_CODE parms[] =
VTS_I4 VTS_VARIANT;
InvokeHelper(0x6b, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
DeleteAt, &DeleteCount);
}
void _DThumb::DisplayThumbs(const VARIANT& ThumbNumber, const VARIANT& Option)
{
static BYTE BASED_CODE parms[] =
VTS_VARIANT VTS_VARIANT;
InvokeHelper(0x6c, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
&ThumbNumber, &Option);
}
void _DThumb::GenerateThumb(short Option, const VARIANT& PageNumber)
{
// static BYTE BASED_CODE parms[] =
// VTS_I2 VTS_VARIANT;
// InvokeHelper(0x6d, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
// Option, &PageNumber);
}
BOOL _DThumb::ScrollThumbs(short Direction, short Amount)
{
BOOL result;
static BYTE BASED_CODE parms[] =
VTS_I2 VTS_I2;
InvokeHelper(0x6e, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
Direction, Amount);
return result;
}
BOOL _DThumb::UISetThumbSize(const VARIANT& Image, const VARIANT& Page)
{
BOOL result;
static BYTE BASED_CODE parms[] =
VTS_VARIANT VTS_VARIANT;
InvokeHelper(0x6f, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
&Image, &Page);
return result;
}
long _DThumb::GetScrollDirectionSize(long ScrollDirectionThumbCount, long NonScrollDirectionThumbCount, long NonScrollDirectionSize, BOOL ScrollBar)
{
long result;
static BYTE BASED_CODE parms[] =
VTS_I4 VTS_I4 VTS_I4 VTS_BOOL;
InvokeHelper(0x70, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
ScrollDirectionThumbCount, NonScrollDirectionThumbCount, NonScrollDirectionSize, ScrollBar);
return result;
}
void _DThumb::Refresh()
{
InvokeHelper(0xfffffdda, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
long _DThumb::GetThumbPositionX(long ThumbNumber)
{
long result;
static BYTE BASED_CODE parms[] =
VTS_I4;
InvokeHelper(0x71, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
ThumbNumber);
return result;
}
long _DThumb::GetThumbPositionY(long ThumbNumber)
{
long result;
static BYTE BASED_CODE parms[] =
VTS_I4;
InvokeHelper(0x72, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
ThumbNumber);
return result;
}
CString _DThumb::GetVersion()
{
CString result;
InvokeHelper(0x73, DISPATCH_METHOD, VT_BSTR, (void*)&result, NULL);
return result;
}
BOOL _DThumb::GetThumbSelected(long PageNumber)
{
BOOL result;
static BYTE BASED_CODE parms[] =
VTS_I4;
InvokeHelper(0xc8, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, parms,
PageNumber);
return result;
}
void _DThumb::SetThumbSelected(long PageNumber, BOOL bNewValue)
{
static BYTE BASED_CODE parms[] =
VTS_I4 VTS_BOOL;
InvokeHelper(0xc8, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
PageNumber, bNewValue);
}
void _DThumb::AboutBox()
{
InvokeHelper(0xfffffdd8, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
/////////////////////////////////////////////////////////////////////////////
// _DThumbEvents properties
/////////////////////////////////////////////////////////////////////////////
// _DThumbEvents operations
void _DThumbEvents::Click(long ThumbNumber)
{
static BYTE BASED_CODE parms[] =
VTS_I4;
InvokeHelper(0x1, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
ThumbNumber);
}
void _DThumbEvents::DblClick(long ThumbNumber)
{
static BYTE BASED_CODE parms[] =
VTS_I4;
InvokeHelper(0x2, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
ThumbNumber);
}
void _DThumbEvents::MouseDown(short Button, short Shift, long x, long y, long ThumbNumber)
{
static BYTE BASED_CODE parms[] =
VTS_I2 VTS_I2 VTS_I4 VTS_I4 VTS_I4;
InvokeHelper(0x3, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
Button, Shift, x, y, ThumbNumber);
}
void _DThumbEvents::MouseUp(short Button, short Shift, long x, long y, long ThumbNumber)
{
static BYTE BASED_CODE parms[] =
VTS_I2 VTS_I2 VTS_I4 VTS_I4 VTS_I4;
InvokeHelper(0x4, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
Button, Shift, x, y, ThumbNumber);
}
void _DThumbEvents::MouseMove(short Button, short Shift, long x, long y, long ThumbNumber)
{
static BYTE BASED_CODE parms[] =
VTS_I2 VTS_I2 VTS_I4 VTS_I4 VTS_I4;
InvokeHelper(0x5, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
Button, Shift, x, y, ThumbNumber);
}
void _DThumbEvents::Error(short Number, BSTR* Description, long Scode, LPCTSTR Source, LPCTSTR HelpFile, long HelpContext, BOOL* CancelDisplay)
{
static BYTE BASED_CODE parms[] =
VTS_I2 VTS_PBSTR VTS_I4 VTS_BSTR VTS_BSTR VTS_I4 VTS_PBOOL;
InvokeHelper(0xfffffda0, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
Number, Description, Scode, Source, HelpFile, HelpContext, CancelDisplay);
}
void _DThumbEvents::KeyDown(short* KeyCode, short Shift)
{
static BYTE BASED_CODE parms[] =
VTS_PI2 VTS_I2;
InvokeHelper(0xfffffda6, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
KeyCode, Shift);
}
void _DThumbEvents::KeyUp(short* KeyCode, short Shift)
{
static BYTE BASED_CODE parms[] =
VTS_PI2 VTS_I2;
InvokeHelper(0xfffffda4, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
KeyCode, Shift);
}