// // // IconTool // // a Newt 3.0+ plug-in (autopart) that contains a function // to extract icon information from Ben Gottlieb's Icon Editor // to be used by Newt's package frame. // // To use: Install IconTool on your Newton. // Create an icon using Icon Editor // Include the line: IconEditor:GetEditorIcon(""); // in the package frame of the source code you are creating // where is the name of the icon you created in the // Icon Editor. // // Alternatively you can tap on Newt's overview button and select // "IconTool" from the list. Drag the window around so you can // see where you want to insert the GetEditorIcon statement. Make // sure you can see the insertion point and then tap the Paste // button. Edit the statement to include the name of your icon. // // NOTE: You can drag the information window of IconTool by the // bottom edge. // //------------------------ // IconTool is freeware. // Serg Koren // archimag@netaxs.com // SergK@eworld.com // // Ver 1.0 07/04/95 // //------------------------ // Check out my Newton reviews on http://www.netaxs.com/~archimag/revw.html //------------------------ // This is the main method that you call. // SYNTAX: IconTool:GetEditorIcon("") // IconTool.GetEditorIcon func(which) begin local iconsoup := GetUnionSoup("Icons:BenG"); local entry := (cursor := Query(iconsoup, {type: 'index})):entry(); // check for the icon name we want while entry do begin if StrEqual(entry.name, which) then return entry.icon; // return it... entry := cursor:Next(); end; return nil; // return icon name not found... end ----- init func() begin // define some constants :defConst('kNewtSymbol, '|NewtDevEnv:TKnollSys|); :defConst('kPlugType,'tools); :defConst('kPlugSymbol,'IconTool); end ----- IconTool._package.InstallScript func(partFrame,removeFrame) begin local gData := GetGlobals().(kNewtSymbol); if not gData then GetGlobals().(EnsureInternal(kNewtSymbol)) := gData := EnsureInternal({constants:{}, libraries: {}, protos: {}, tools: {}, views: {}, }); gData.(kPlugType).(EnsureInternal(kPlugSymbol)) := partFrame.partData.(kPlugSymbol); end ----- IconTool._package.RemoveScript func(removeFrame) begin RemoveSlot(GetGlobals().(kNewtSymbol).(kPlugType), kPlugSymbol); end ----- IconTool // :doObj('add,'IconTool) // :doObj('build,'IconTool) // :doObj('Remove,'IconTool) //:saveApp(IconTool) { // _proto: protoFloatNGo, title: "Icon Tool", viewFlags: vFloating + vClickable, viewBounds: RelBounds(0,6,200,170), _package: { version: 100, // we scale this to n.nn copyright: ") 1995 by Serg Koren - Freeware", // devSignature should default to "Newt" }, viewClickScript: func(unit) begin IconTool = self and :Drag(unit,nil); // drag it around.... end, viewSetupFormScript: func() begin self.IconTool := self; // for dragging inherited:?viewSetupFormScript(); end, } ----- IconTool._package.partData { IconTool: IconTool._proto // this is required by the autopart } ----- IconTool+maboutText { // about text viewclass: 'clParagraphView, text: " \u000D\u " && IconTool._package.copyright && "\u000D\u Version" && SubStr( NumberStr(IconTool._package.version),0,1) & "." & SubStr( NumberStr(IconTool._package.version),1,2) & "\u000D\u email: SergK@eworld.com" & "\u000D\u \u000D\u Newt Tool for extracting icons from \u000D\u Ben Gottlieb's Icon Editor.\u000D\u \u000D\u SYNTAX: \u000D\u IconTool:GetEditorIcon();", viewFlags: 3, viewBounds: RelBounds(35,20,300,180), } ----- IconTool+paste { // button that lets us paste the method call into the insertion point _proto: protoTextButton, viewBounds: RelBounds (165, 5,35 ,15), text: "Paste", buttonClickScript: func() begin PostKeyString('viewFrontKey, "IconTool:GetEditorIcon( );"); PlaySound(ROM_click); IconTool:close(); // get rid of our window end, } ----- IconTool+mytitle {_proto: protoStaticText, viewBounds: RelBounds (20 ,20 ,100 ,37 ), text: "Icon Tool", } ----- BYE!