mirror of
https://github.com/nickshanks/ResKnife.git
synced 2024-06-03 01:29:40 +00:00
57 lines
1.4 KiB
C++
57 lines
1.4 KiB
C++
#include "EditorWindow.h"
|
|
#include "ResourceObject.h"
|
|
#include "Errors.h"
|
|
#include "Utility.h"
|
|
|
|
extern globals g;
|
|
|
|
/*** CREATOR ***/
|
|
EditorWindow::EditorWindow(FileWindowPtr ownerFile, ResourceObjectPtr targetResource, WindowRef inputWindow) : PlugWindow(ownerFile)
|
|
{
|
|
// OSStatus error = noErr;
|
|
|
|
// set default variables
|
|
window = inputWindow;
|
|
resource = targetResource;
|
|
|
|
// set up default window title
|
|
Str255 windowTitle, resTypeStr, resIDStr;
|
|
FSSpec spec = *ownerFile->GetFileSpec();
|
|
CopyPString(spec.name, windowTitle);
|
|
TypeToPString(resource->Type(), resTypeStr);
|
|
NumToString(resource->ID(), resIDStr);
|
|
AppendPString(windowTitle, "\p: ");
|
|
AppendPString(windowTitle, resTypeStr);
|
|
AppendPString(windowTitle, "\p ");
|
|
AppendPString(windowTitle, resIDStr);
|
|
if(*resource->Name() != 0x00) // resource has name
|
|
{
|
|
AppendPString(windowTitle, "\p, Ò");
|
|
AppendPString(windowTitle, resource->Name());
|
|
AppendPString(windowTitle, "\pÓ");
|
|
}
|
|
|
|
// save EditorWindow class in window's refcon
|
|
SetWindowRefCon(window, (UInt32) this);
|
|
SetWindowKind(window, kEditorWindowKind);
|
|
SetWindowTitle(window, windowTitle);
|
|
}
|
|
|
|
#if !TARGET_API_MAC_CARBON
|
|
|
|
/*** CLOSE ***/
|
|
OSStatus EditorWindow::Close(void)
|
|
{
|
|
// bug: need to tell plug it is about to die.
|
|
CloseWindow(window);
|
|
delete this;
|
|
return noErr;
|
|
}
|
|
|
|
#endif
|
|
|
|
/*** RESOURCE ACCESSOR ***/
|
|
ResourceObjectPtr EditorWindow::Resource(void)
|
|
{
|
|
return resource;
|
|
} |