ResKnife/Carbon/Classes/EditorWindow.cpp

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, "\");
}
// 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;
}