Changeset 19


Ignore:
Timestamp:
10/20/02 05:39:33 (17 years ago)
Author:
Nicholas Riley
Message:

F-Script Anywhere 1.1.6d1

Location:
trunk/Cocoa/F-Script Anywhere/Source
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cocoa/F-Script Anywhere/Source/English.lproj/MainMenu.nib/info.nib

    r16 r19  
    1111        </dict>
    1212        <key>IBFramework Version</key>
    13         <string>283.0</string>
     13        <string>286.0</string>
    1414        <key>IBOpenObjects</key>
    1515        <array>
     
    1818        </array>
    1919        <key>IBSystem Version</key>
    20         <string>6C115</string>
     20        <string>6D52</string>
    2121</dict>
    2222</plist>
  • trunk/Cocoa/F-Script Anywhere/Source/F-Script Anywhere.pbproj/nicholas.pbxuser

    r16 r19  
    2424                );
    2525                perUserDictionary = {
    26                         PBXPerProjectTemplateStateSaveDate = 55214324;
     26                        PBXPerProjectTemplateStateSaveDate = 55866266;
    2727                        "PBXTemplateGeometry-F5314676015831810DCA290F" = {
    28                                 ContentSize = "{685, 434}";
     28                                ContentSize = "{618, 257}";
    2929                                LeftSlideOut = {
    3030                                        Collapsed = NO;
    31                                         Frame = "{{0, 23}, {685, 411}}";
     31                                        Frame = "{{0, 23}, {618, 234}}";
    3232                                        Split0 = {
    3333                                                ActiveTab = 2;
    34                                                 Collapsed = NO;
    35                                                 Frame = "{{0, 0}, {685, 411}}";
     34                                                Collapsed = YES;
     35                                                Frame = "{{0, 0}, {618, 234}}";
    3636                                                Split0 = {
    37                                                         Frame = "{{0, 221}, {685, 190}}";
     37                                                        Frame = "{{1e+06, 1e+06}, {618, 0}}";
    3838                                                };
    3939                                                SplitCount = 1;
     
    8181                                                };
    8282                                                Tab2 = {
    83                                                         BuildMessageFrame = "{{0, 0}, {687, 149}}";
    84                                                         BuildTranscriptFrame = "{{0, 158}, {687, 59}}";
    85                                                         Frame = "{{0, 0}, {685, 215}}";
     83                                                        BuildMessageFrame = "{{0, 0}, {620, 123}}";
     84                                                        BuildTranscriptFrame = "{{0, 132}, {620, 98}}";
     85                                                        Frame = "{{0, 0}, {618, 228}}";
    8686                                                };
    8787                                                Tab3 = {
     
    145145                                Template = F5314676015831810DCA290F;
    146146                                ToolbarVisible = YES;
    147                                 WindowLocation = "{589, 87}";
     147                                WindowLocation = "{453, 592}";
     148                        };
     149                        "PBXTemplateGeometry-F5534CB2020F3F8A0DCA290F" = {
     150                                ContentSize = "{594, 303}";
     151                                LeftSlideOut = {
     152                                        Collapsed = NO;
     153                                        Frame = "{{0, 23}, {594, 280}}";
     154                                        Split0 = {
     155                                                ActiveTab = 1;
     156                                                Collapsed = YES;
     157                                                Frame = "{{0, 0}, {594, 280}}";
     158                                                Split0 = {
     159                                                        Frame = "{{1e+06, 1e+06}, {594, 0}}";
     160                                                };
     161                                                SplitCount = 1;
     162                                                Tab0 = {
     163                                                        Debugger = {
     164                                                                Collapsed = NO;
     165                                                                Frame = "{{0, 0}, {804, 321}}";
     166                                                                Split0 = {
     167                                                                        Frame = "{{0, 24}, {804, 297}}";
     168                                                                        Split0 = {
     169                                                                                Frame = "{{0, 0}, {394, 297}}";
     170                                                                        };
     171                                                                        Split1 = {
     172                                                                                DebugVariablesTableConfiguration = (
     173                                                                                        Name,
     174                                                                                        123,
     175                                                                                        Value,
     176                                                                                        85,
     177                                                                                        Summary,
     178                                                                                        167.123,
     179                                                                                );
     180                                                                                Frame = "{{403, 0}, {401, 297}}";
     181                                                                        };
     182                                                                        SplitCount = 2;
     183                                                                };
     184                                                                SplitCount = 1;
     185                                                                Tab0 = {
     186                                                                        Frame = "{{0, 0}, {100, 50}}";
     187                                                                };
     188                                                                Tab1 = {
     189                                                                        Frame = "{{0, 0}, {100, 50}}";
     190                                                                };
     191                                                                TabCount = 2;
     192                                                                TabsVisible = YES;
     193                                                        };
     194                                                        Frame = "{{0, 0}, {804, 321}}";
     195                                                        LauncherConfigVersion = 7;
     196                                                };
     197                                                Tab1 = {
     198                                                        Frame = "{{0, 0}, {594, 274}}";
     199                                                        LauncherConfigVersion = 3;
     200                                                        Runner = {
     201                                                                Frame = "{{0, 0}, {594, 274}}";
     202                                                        };
     203                                                };
     204                                                Tab2 = {
     205                                                        BuildMessageFrame = "{{0, 0}, {806, 237}}";
     206                                                        BuildTranscriptFrame = "{{0, 246}, {806, 3}}";
     207                                                        Frame = "{{0, 0}, {804, 247}}";
     208                                                };
     209                                                Tab3 = {
     210                                                        Frame = "{{0, 0}, {612, 295}}";
     211                                                };
     212                                                TabCount = 4;
     213                                                TabsVisible = NO;
     214                                        };
     215                                        SplitCount = 1;
     216                                        Tab0 = {
     217                                                Frame = "{{0, 0}, {300, 533}}";
     218                                                GroupTreeTableConfiguration = (
     219                                                        TargetStatusColumn,
     220                                                        18,
     221                                                        MainColumn,
     222                                                        267,
     223                                                );
     224                                        };
     225                                        Tab1 = {
     226                                                ClassesFrame = "{{0, 0}, {280, 398}}";
     227                                                ClassesTreeTableConfiguration = (
     228                                                        PBXBookColumnIdentifier,
     229                                                        20,
     230                                                        PBXClassColumnIdentifier,
     231                                                        237,
     232                                                );
     233                                                Frame = "{{0, 0}, {278, 659}}";
     234                                                MembersFrame = "{{0, 407}, {280, 252}}";
     235                                                MembersTreeTableConfiguration = (
     236                                                        PBXBookColumnIdentifier,
     237                                                        20,
     238                                                        PBXMethodColumnIdentifier,
     239                                                        236,
     240                                                );
     241                                        };
     242                                        Tab2 = {
     243                                                Frame = "{{0, 0}, {200, 100}}";
     244                                        };
     245                                        Tab3 = {
     246                                                Frame = "{{0, 0}, {200, 386}}";
     247                                                TargetTableConfiguration = (
     248                                                        ActiveObject,
     249                                                        16,
     250                                                        ObjectNames,
     251                                                        202.296,
     252                                                );
     253                                        };
     254                                        Tab4 = {
     255                                                BreakpointsTreeTableConfiguration = (
     256                                                        breakpointColumn,
     257                                                        197,
     258                                                        enabledColumn,
     259                                                        31,
     260                                                );
     261                                                Frame = "{{0, 0}, {250, 386}}";
     262                                        };
     263                                        TabCount = 5;
     264                                        TabsVisible = NO;
     265                                };
     266                                StatusViewVisible = YES;
     267                                Template = F5534CB2020F3F8A0DCA290F;
     268                                ToolbarVisible = YES;
     269                                WindowLocation = "{52, 554}";
     270                        };
     271                        "PBXTemplateGeometry-F5CA7EC8015C06940DCA290F" = {
     272                                ContentSize = "{705, 569}";
     273                                LeftSlideOut = {
     274                                        Collapsed = NO;
     275                                        Frame = "{{0, 0}, {705, 569}}";
     276                                        Split0 = {
     277                                                Collapsed = NO;
     278                                                Frame = "{{0, 0}, {705, 569}}";
     279                                                Split0 = {
     280                                                        Frame = "{{0, 0}, {705, 569}}";
     281                                                };
     282                                                SplitCount = 1;
     283                                                Tab0 = {
     284                                                        Debugger = {
     285                                                                Collapsed = NO;
     286                                                                Frame = "{{0, 0}, {484, 208}}";
     287                                                                Split0 = {
     288                                                                        Frame = "{{0, 24}, {484, 184}}";
     289                                                                        Split0 = {
     290                                                                                Frame = "{{0, 0}, {236, 184}}";
     291                                                                        };
     292                                                                        Split1 = {
     293                                                                                DebugVariablesTableConfiguration = (
     294                                                                                        Name,
     295                                                                                        123,
     296                                                                                        Value,
     297                                                                                        85,
     298                                                                                        Summary,
     299                                                                                        62.123,
     300                                                                                );
     301                                                                                Frame = "{{245, 0}, {239, 184}}";
     302                                                                        };
     303                                                                        SplitCount = 2;
     304                                                                };
     305                                                                SplitCount = 1;
     306                                                                Tab0 = {
     307                                                                        Frame = "{{0, 0}, {100, 50}}";
     308                                                                };
     309                                                                Tab1 = {
     310                                                                        Frame = "{{0, 0}, {100, 50}}";
     311                                                                };
     312                                                                TabCount = 2;
     313                                                                TabsVisible = YES;
     314                                                        };
     315                                                        Frame = "{{0, 0}, {484, 208}}";
     316                                                        LauncherConfigVersion = 7;
     317                                                };
     318                                                Tab1 = {
     319                                                        Frame = "{{0, 0}, {522, 208}}";
     320                                                        LauncherConfigVersion = 3;
     321                                                        Runner = {
     322                                                                Frame = "{{0, 0}, {522, 208}}";
     323                                                        };
     324                                                };
     325                                                Tab2 = {
     326                                                        BuildMessageFrame = "{{0, 0}, {809, 410}}";
     327                                                        BuildTranscriptFrame = "{{0, 419}, {809, 119}}";
     328                                                        Frame = "{{0, 0}, {807, 536}}";
     329                                                };
     330                                                Tab3 = {
     331                                                        Frame = "{{0, 0}, {612, 295}}";
     332                                                };
     333                                                TabCount = 4;
     334                                                TabsVisible = NO;
     335                                        };
     336                                        SplitCount = 1;
     337                                        Tab0 = {
     338                                                Frame = "{{0, 0}, {300, 533}}";
     339                                                GroupTreeTableConfiguration = (
     340                                                        TargetStatusColumn,
     341                                                        18,
     342                                                        MainColumn,
     343                                                        267,
     344                                                );
     345                                        };
     346                                        Tab1 = {
     347                                                ClassesFrame = "{{0, 0}, {280, 398}}";
     348                                                ClassesTreeTableConfiguration = (
     349                                                        PBXBookColumnIdentifier,
     350                                                        20,
     351                                                        PBXClassColumnIdentifier,
     352                                                        237,
     353                                                );
     354                                                Frame = "{{0, 0}, {278, 659}}";
     355                                                MembersFrame = "{{0, 407}, {280, 252}}";
     356                                                MembersTreeTableConfiguration = (
     357                                                        PBXBookColumnIdentifier,
     358                                                        20,
     359                                                        PBXMethodColumnIdentifier,
     360                                                        236,
     361                                                );
     362                                        };
     363                                        Tab2 = {
     364                                                Frame = "{{0, 0}, {200, 100}}";
     365                                        };
     366                                        Tab3 = {
     367                                                Frame = "{{0, 0}, {222, 536}}";
     368                                                TargetTableConfiguration = (
     369                                                        ActiveObject,
     370                                                        16,
     371                                                        ObjectNames,
     372                                                        202.296,
     373                                                );
     374                                        };
     375                                        Tab4 = {
     376                                                BreakpointsTreeTableConfiguration = (
     377                                                        breakpointColumn,
     378                                                        197,
     379                                                        enabledColumn,
     380                                                        31,
     381                                                );
     382                                                Frame = "{{0, 0}, {250, 528}}";
     383                                        };
     384                                        TabCount = 5;
     385                                        TabsVisible = NO;
     386                                };
     387                                StatusViewVisible = NO;
     388                                Template = F5CA7EC8015C06940DCA290F;
     389                                ToolbarVisible = YES;
     390                                WindowLocation = "{11, 351}";
    148391                        };
    149392                        "PBXTemplateGeometry-F5CA7ECB015C094F0DCA290F" = {
     
    266509                                Template = F5CA7ECB015C094F0DCA290F;
    267510                                ToolbarVisible = NO;
    268                                 WindowLocation = "{489, 236}";
    269                         };
    270                         "PBXTemplateGeometry-F5CA7ECC015C09990DCA290F" = {
    271                                 ContentSize = "{773, 558}";
    272                                 LeftSlideOut = {
    273                                         Collapsed = NO;
    274                                         Frame = "{{0, 23}, {773, 535}}";
    275                                         Split0 = {
    276                                                 ActiveTab = 0;
    277                                                 Collapsed = NO;
    278                                                 Frame = "{{24, 0}, {749, 535}}";
    279                                                 Split0 = {
    280                                                         Frame = "{{0, 273}, {749, 262}}";
    281                                                 };
    282                                                 SplitCount = 1;
    283                                                 Tab0 = {
    284                                                         Debugger = {
    285                                                                 ActiveTab = 1;
    286                                                                 Collapsed = NO;
    287                                                                 Frame = "{{0, 0}, {749, 267}}";
    288                                                                 Split0 = {
    289                                                                         Frame = "{{0, 169}, {749, 98}}";
    290                                                                         Split0 = {
    291                                                                                 Frame = "{{0, 0}, {366, 98}}";
    292                                                                         };
    293                                                                         Split1 = {
    294                                                                                 DebugVariablesTableConfiguration = (
    295                                                                                         Name,
    296                                                                                         93.80298,
    297                                                                                         Value,
    298                                                                                         116.074,
    299                                                                                         Summary,
    300                                                                                         138.123,
    301                                                                                 );
    302                                                                                 Frame = "{{375, 0}, {374, 98}}";
    303                                                                         };
    304                                                                         SplitCount = 2;
    305                                                                 };
    306                                                                 SplitCount = 1;
    307                                                                 Tab0 = {
    308                                                                         Frame = "{{0, 0}, {100, 50}}";
    309                                                                 };
    310                                                                 Tab1 = {
    311                                                                         Frame = "{{0, 0}, {749, 145}}";
    312                                                                 };
    313                                                                 TabCount = 2;
    314                                                                 TabsVisible = YES;
    315                                                         };
    316                                                         Frame = "{{0, 0}, {749, 267}}";
    317                                                         LauncherConfigVersion = 7;
    318                                                 };
    319                                                 Tab1 = {
    320                                                         Frame = "{{0, 0}, {664, 208}}";
    321                                                         LauncherConfigVersion = 3;
    322                                                         Runner = {
    323                                                                 Frame = "{{0, 0}, {664, 208}}";
    324                                                         };
    325                                                 };
    326                                                 Tab2 = {
    327                                                         BuildMessageFrame = "{{0, 0}, {666, 43}}";
    328                                                         BuildTranscriptFrame = "{{0, 52}, {666, 0}}";
    329                                                         Frame = "{{0, 0}, {664, 50}}";
    330                                                 };
    331                                                 Tab3 = {
    332                                                         Frame = "{{0, 0}, {612, 295}}";
    333                                                 };
    334                                                 TabCount = 4;
    335                                                 TabsVisible = NO;
    336                                         };
    337                                         SplitCount = 1;
    338                                         Tab0 = {
    339                                                 Frame = "{{0, 0}, {313, 531}}";
    340                                                 GroupTreeTableConfiguration = (
    341                                                         TargetStatusColumn,
    342                                                         18,
    343                                                         MainColumn,
    344                                                         280,
    345                                                 );
    346                                         };
    347                                         Tab1 = {
    348                                                 ClassesFrame = "{{0, 0}, {280, 398}}";
    349                                                 ClassesTreeTableConfiguration = (
    350                                                         PBXBookColumnIdentifier,
    351                                                         20,
    352                                                         PBXClassColumnIdentifier,
    353                                                         237,
    354                                                 );
    355                                                 Frame = "{{0, 0}, {278, 659}}";
    356                                                 MembersFrame = "{{0, 407}, {280, 252}}";
    357                                                 MembersTreeTableConfiguration = (
    358                                                         PBXBookColumnIdentifier,
    359                                                         20,
    360                                                         PBXMethodColumnIdentifier,
    361                                                         236,
    362                                                 );
    363                                         };
    364                                         Tab2 = {
    365                                                 Frame = "{{0, 0}, {200, 100}}";
    366                                         };
    367                                         Tab3 = {
    368                                                 Frame = "{{0, 0}, {200, 557}}";
    369                                                 TargetTableConfiguration = (
    370                                                         ActiveObject,
    371                                                         16,
    372                                                         ObjectNames,
    373                                                         202.296,
    374                                                 );
    375                                         };
    376                                         Tab4 = {
    377                                                 BreakpointsTreeTableConfiguration = (
    378                                                         breakpointColumn,
    379                                                         197,
    380                                                         enabledColumn,
    381                                                         31,
    382                                                 );
    383                                                 Frame = "{{0, 0}, {250, 100}}";
    384                                         };
    385                                         TabCount = 5;
    386                                         TabsVisible = YES;
    387                                 };
    388                                 StatusViewVisible = YES;
    389                                 Template = F5CA7ECC015C09990DCA290F;
    390                                 ToolbarVisible = YES;
    391                                 WindowLocation = "{13, 212}";
     511                                WindowLocation = "{48, 349}";
    392512                        };
    393513                        PBXWorkspaceContents = (
     
    396516                                                Split0 = {
    397517                                                        Split0 = {
    398                                                                 NavContent0 = {
    399                                                                         bookmark = F5486B9D034A85A801AEEDB1;
    400                                                                         history = (
    401                                                                                 F5486B91034A85A801AEEDB1,
    402                                                                                 F5486B92034A85A801AEEDB1,
    403                                                                                 F5486B93034A85A801AEEDB1,
    404                                                                                 F5486B94034A85A801AEEDB1,
    405                                                                                 F5486B95034A85A801AEEDB1,
    406                                                                         );
    407                                                                         prevStack = (
    408                                                                                 F5486B96034A85A801AEEDB1,
    409                                                                                 F5486B97034A85A801AEEDB1,
    410                                                                                 F5486B98034A85A801AEEDB1,
    411                                                                                 F5486B99034A85A801AEEDB1,
    412                                                                                 F5486B9A034A85A801AEEDB1,
    413                                                                                 F5486B9B034A85A801AEEDB1,
    414                                                                                 F5486B9C034A85A801AEEDB1,
    415                                                                         );
    416                                                                 };
    417518                                                                NavCount = 1;
    418519                                                                NavGeometry0 = {
    419                                                                         Frame = "{{0, 0}, {643, 567}}";
     520                                                                        Frame = "{{0, 0}, {150, 530}}";
    420521                                                                        NavBarVisible = YES;
    421522                                                                };
     
    446547                                        };
    447548                                },
    448                                 {
    449                                         LeftSlideOut = {
    450                                                 Split0 = {
    451                                                         Split0 = {
    452                                                                 NavCount = 1;
    453                                                                 NavGeometry0 = {
    454                                                                         Frame = "{{0, 0}, {594, 150}}";
    455                                                                         NavBarVisible = YES;
    456                                                                 };
    457                                                         };
    458                                                         SplitCount = 1;
    459                                                         Tab0 = {
    460                                                                 Debugger = {
    461                                                                         Split0 = {
    462                                                                                 SplitCount = 2;
    463                                                                         };
    464                                                                         SplitCount = 1;
    465                                                                         TabCount = 2;
    466                                                                 };
    467                                                                 LauncherConfigVersion = 7;
    468                                                         };
    469                                                         Tab1 = {
    470                                                                 LauncherConfigVersion = 3;
    471                                                                 Runner = {
    472                                                                 };
    473                                                         };
    474                                                         TabCount = 4;
    475                                                 };
    476                                                 SplitCount = 1;
    477                                                 Tab1 = {
    478                                                         OptionsSetName = "Hierarchy, all classes";
    479                                                 };
    480                                                 TabCount = 5;
    481                                         };
    482                                 },
    483549                        );
    484550                        PBXWorkspaceGeometries = (
    485551                                {
    486                                         ContentSize = "{927, 590}";
     552                                        ContentSize = "{352, 553}";
    487553                                        LeftSlideOut = {
    488554                                                ActiveTab = 0;
    489                                                 Collapsed = NO;
    490                                                 Frame = "{{0, 23}, {927, 567}}";
     555                                                Collapsed = YES;
     556                                                Frame = "{{0, 23}, {352, 530}}";
    491557                                                Split0 = {
    492558                                                        Collapsed = NO;
    493                                                         Frame = "{{284, 0}, {643, 567}}";
     559                                                        Frame = "{{1e+06, 1e+06}, {0, 530}}";
    494560                                                        Split0 = {
    495                                                                 Frame = "{{0, 0}, {643, 567}}";
     561                                                                Frame = "{{0, 0}, {0, 530}}";
    496562                                                        };
    497563                                                        SplitCount = 1;
     
    499565                                                                Debugger = {
    500566                                                                        Collapsed = NO;
    501                                                                         Frame = "{{0, 0}, {681, 289}}";
     567                                                                        Frame = "{{0, 0}, {484, 208}}";
    502568                                                                        Split0 = {
    503                                                                                 Frame = "{{0, 24}, {681, 265}}";
     569                                                                                Frame = "{{0, 24}, {484, 184}}";
    504570                                                                                Split0 = {
    505                                                                                         Frame = "{{0, 0}, {333, 265}}";
    506                                                                                 };
    507                                                                                 Split1 = {
    508                                                                                         DebugVariablesTableConfiguration = (
    509                                                                                                 Name,
    510                                                                                                 82.80298,
    511                                                                                                 Value,
    512                                                                                                 104.074,
    513                                                                                                 Summary,
    514                                                                                                 126.123,
    515                                                                                         );
    516                                                                                         Frame = "{{342, 0}, {339, 265}}";
    517                                                                                 };
    518                                                                                 SplitCount = 2;
    519                                                                         };
    520                                                                         SplitCount = 1;
    521                                                                         Tab0 = {
    522                                                                                 Frame = "{{0, 0}, {100, 50}}";
    523                                                                         };
    524                                                                         Tab1 = {
    525                                                                                 Frame = "{{0, 0}, {100, 50}}";
    526                                                                         };
    527                                                                         TabCount = 2;
    528                                                                         TabsVisible = YES;
    529                                                                 };
    530                                                                 Frame = "{{0, 0}, {681, 289}}";
    531                                                                 LauncherConfigVersion = 7;
    532                                                         };
    533                                                         Tab1 = {
    534                                                                 Frame = "{{0, 0}, {681, 120}}";
    535                                                                 LauncherConfigVersion = 3;
    536                                                                 Runner = {
    537                                                                         Frame = "{{0, 0}, {681, 120}}";
    538                                                                 };
    539                                                         };
    540                                                         Tab2 = {
    541                                                                 BuildMessageFrame = "{{0, 0}, {683, 127}}";
    542                                                                 BuildTranscriptFrame = "{{0, 136}, {683, 100}}";
    543                                                                 Frame = "{{0, 0}, {681, 234}}";
    544                                                         };
    545                                                         Tab3 = {
    546                                                                 Frame = "{{0, 0}, {681, 238}}";
    547                                                         };
    548                                                         TabCount = 4;
    549                                                         TabsVisible = NO;
    550                                                 };
    551                                                 SplitCount = 1;
    552                                                 Tab0 = {
    553                                                         Frame = "{{0, 0}, {260, 567}}";
    554                                                         GroupTreeTableConfiguration = (
    555                                                                 TargetStatusColumn,
    556                                                                 18,
    557                                                                 MainColumn,
    558                                                                 227,
    559                                                         );
    560                                                 };
    561                                                 Tab1 = {
    562                                                         ClassesFrame = "{{0, 0}, {250, 333}}";
    563                                                         ClassesTreeTableConfiguration = (
    564                                                                 PBXBookColumnIdentifier,
    565                                                                 20,
    566                                                                 PBXClassColumnIdentifier,
    567                                                                 207,
    568                                                         );
    569                                                         Frame = "{{0, 0}, {248, 554}}";
    570                                                         MembersFrame = "{{0, 342}, {250, 212}}";
    571                                                         MembersTreeTableConfiguration = (
    572                                                                 PBXBookColumnIdentifier,
    573                                                                 20,
    574                                                                 PBXMethodColumnIdentifier,
    575                                                                 206,
    576                                                         );
    577                                                 };
    578                                                 Tab2 = {
    579                                                         Frame = "{{0, 0}, {217, 554}}";
    580                                                 };
    581                                                 Tab3 = {
    582                                                         Frame = "{{0, 0}, {239, 554}}";
    583                                                         TargetTableConfiguration = (
    584                                                                 ActiveObject,
    585                                                                 16,
    586                                                                 ObjectNames,
    587                                                                 206.296,
    588                                                         );
    589                                                 };
    590                                                 Tab4 = {
    591                                                         BreakpointsTreeTableConfiguration = (
    592                                                                 breakpointColumn,
    593                                                                 197,
    594                                                                 enabledColumn,
    595                                                                 31,
    596                                                         );
    597                                                         Frame = "{{0, 0}, {250, 554}}";
    598                                                 };
    599                                                 TabCount = 5;
    600                                                 TabsVisible = YES;
    601                                         };
    602                                         StatusViewVisible = YES;
    603                                         Template = 64ABBB4501FA494900185B06;
    604                                         ToolbarVisible = YES;
    605                                         WindowLocation = "{9, 520}";
    606                                 },
    607                                 {
    608                                         ContentSize = "{594, 303}";
    609                                         LeftSlideOut = {
    610                                                 Collapsed = NO;
    611                                                 Frame = "{{0, 23}, {594, 280}}";
    612                                                 Split0 = {
    613                                                         ActiveTab = 1;
    614                                                         Collapsed = YES;
    615                                                         Frame = "{{0, 0}, {594, 280}}";
    616                                                         Split0 = {
    617                                                                 Frame = "{{1e+06, 1e+06}, {594, 0}}";
    618                                                         };
    619                                                         SplitCount = 1;
    620                                                         Tab0 = {
    621                                                                 Debugger = {
    622                                                                         Collapsed = NO;
    623                                                                         Frame = "{{0, 0}, {804, 321}}";
    624                                                                         Split0 = {
    625                                                                                 Frame = "{{0, 24}, {804, 297}}";
    626                                                                                 Split0 = {
    627                                                                                         Frame = "{{0, 0}, {394, 297}}";
     571                                                                                        Frame = "{{0, 0}, {236, 184}}";
    628572                                                                                };
    629573                                                                                Split1 = {
     
    634578                                                                                                85,
    635579                                                                                                Summary,
    636                                                                                                 167.123,
     580                                                                                                62.123,
    637581                                                                                        );
    638                                                                                         Frame = "{{403, 0}, {401, 297}}";
     582                                                                                        Frame = "{{245, 0}, {239, 184}}";
    639583                                                                                };
    640584                                                                                SplitCount = 2;
     
    650594                                                                        TabsVisible = YES;
    651595                                                                };
    652                                                                 Frame = "{{0, 0}, {804, 321}}";
     596                                                                Frame = "{{0, 0}, {484, 208}}";
    653597                                                                LauncherConfigVersion = 7;
    654598                                                        };
    655599                                                        Tab1 = {
    656                                                                 Frame = "{{0, 0}, {594, 274}}";
     600                                                                Frame = "{{0, 0}, {664, 208}}";
    657601                                                                LauncherConfigVersion = 3;
    658602                                                                Runner = {
    659                                                                         Frame = "{{0, 0}, {594, 274}}";
     603                                                                        Frame = "{{0, 0}, {664, 208}}";
    660604                                                                };
    661605                                                        };
    662606                                                        Tab2 = {
    663                                                                 BuildMessageFrame = "{{0, 0}, {806, 237}}";
    664                                                                 BuildTranscriptFrame = "{{0, 246}, {806, 3}}";
    665                                                                 Frame = "{{0, 0}, {804, 247}}";
     607                                                                BuildMessageFrame = "{{0, 0}, {666, 43}}";
     608                                                                BuildTranscriptFrame = "{{0, 52}, {666, 0}}";
     609                                                                Frame = "{{0, 0}, {664, 50}}";
    666610                                                        };
    667611                                                        Tab3 = {
     
    673617                                                SplitCount = 1;
    674618                                                Tab0 = {
    675                                                         Frame = "{{0, 0}, {300, 533}}";
     619                                                        Frame = "{{0, 0}, {328, 530}}";
    676620                                                        GroupTreeTableConfiguration = (
    677621                                                                TargetStatusColumn,
    678622                                                                18,
    679623                                                                MainColumn,
    680                                                                 267,
     624                                                                295,
    681625                                                        );
    682626                                                };
    683627                                                Tab1 = {
    684                                                         ClassesFrame = "{{0, 0}, {280, 398}}";
     628                                                        ClassesFrame = "{{0, 0}, {343, 348}}";
    685629                                                        ClassesTreeTableConfiguration = (
    686630                                                                PBXBookColumnIdentifier,
    687631                                                                20,
    688632                                                                PBXClassColumnIdentifier,
    689                                                                 237,
     633                                                                300,
    690634                                                        );
    691                                                         Frame = "{{0, 0}, {278, 659}}";
    692                                                         MembersFrame = "{{0, 407}, {280, 252}}";
     635                                                        Frame = "{{0, 0}, {341, 578}}";
     636                                                        MembersFrame = "{{0, 357}, {343, 221}}";
    693637                                                        MembersTreeTableConfiguration = (
    694638                                                                PBXBookColumnIdentifier,
    695639                                                                20,
    696640                                                                PBXMethodColumnIdentifier,
    697                                                                 236,
     641                                                                299,
    698642                                                        );
    699643                                                };
    700644                                                Tab2 = {
    701                                                         Frame = "{{0, 0}, {200, 100}}";
     645                                                        Frame = "{{0, 0}, {319, 576}}";
    702646                                                };
    703647                                                Tab3 = {
    704                                                         Frame = "{{0, 0}, {200, 386}}";
     648                                                        Frame = "{{0, 0}, {341, 578}}";
    705649                                                        TargetTableConfiguration = (
    706650                                                                ActiveObject,
    707651                                                                16,
    708652                                                                ObjectNames,
    709                                                                 202.296,
     653                                                                308.296,
    710654                                                        );
    711655                                                };
     
    713657                                                        BreakpointsTreeTableConfiguration = (
    714658                                                                breakpointColumn,
    715                                                                 197,
     659                                                                266,
    716660                                                                enabledColumn,
    717661                                                                31,
    718662                                                        );
    719                                                         Frame = "{{0, 0}, {250, 386}}";
     663                                                        Frame = "{{0, 0}, {319, 576}}";
    720664                                                };
    721665                                                TabCount = 5;
    722                                                 TabsVisible = NO;
     666                                                TabsVisible = YES;
    723667                                        };
    724668                                        StatusViewVisible = YES;
    725                                         Template = F5534CB2020F3F8A0DCA290F;
     669                                        Template = F5E465990156DFB90DCA290F;
    726670                                        ToolbarVisible = YES;
    727                                         WindowLocation = "{4, 633}";
     671                                        WindowLocation = "{12, 563}";
    728672                                },
    729673                        );
    730                         PBXWorkspaceStateSaveDate = 55214324;
    731                 };
    732                 perUserProjectItems = {
    733                         F5486B91034A85A801AEEDB1 = F5486B91034A85A801AEEDB1;
    734                         F5486B92034A85A801AEEDB1 = F5486B92034A85A801AEEDB1;
    735                         F5486B93034A85A801AEEDB1 = F5486B93034A85A801AEEDB1;
    736                         F5486B94034A85A801AEEDB1 = F5486B94034A85A801AEEDB1;
    737                         F5486B95034A85A801AEEDB1 = F5486B95034A85A801AEEDB1;
    738                         F5486B96034A85A801AEEDB1 = F5486B96034A85A801AEEDB1;
    739                         F5486B97034A85A801AEEDB1 = F5486B97034A85A801AEEDB1;
    740                         F5486B98034A85A801AEEDB1 = F5486B98034A85A801AEEDB1;
    741                         F5486B99034A85A801AEEDB1 = F5486B99034A85A801AEEDB1;
    742                         F5486B9A034A85A801AEEDB1 = F5486B9A034A85A801AEEDB1;
    743                         F5486B9B034A85A801AEEDB1 = F5486B9B034A85A801AEEDB1;
    744                         F5486B9C034A85A801AEEDB1 = F5486B9C034A85A801AEEDB1;
    745                         F5486B9D034A85A801AEEDB1 = F5486B9D034A85A801AEEDB1;
     674                        PBXWorkspaceStateSaveDate = 55866266;
    746675                };
    747676                projectwideBuildSettings = {
     
    761690                lineNumber = 162;
    762691                state = 2;
    763         };
    764         F5486B91034A85A801AEEDB1 = {
    765                 fRef = F5EFC2C9020A6CD101AEEDB1;
    766                 isa = PBXTextBookmark;
    767                 name = "DeVercruesseProcess.m: initWithPSN:";
    768                 rLen = 0;
    769                 rLoc = 2022;
    770                 rType = 0;
    771                 vrLen = 863;
    772                 vrLoc = 1426;
    773         };
    774         F5486B92034A85A801AEEDB1 = {
    775                 fRef = F5FF50BD02E53B9E01AEEDB1;
    776                 isa = PBXTextBookmark;
    777                 name = "FSAViewAssociationController.m: __STDC__";
    778                 rLen = 0;
    779                 rLoc = 179;
    780                 rType = 0;
    781                 vrLen = 1261;
    782                 vrLoc = 0;
    783         };
    784         F5486B93034A85A801AEEDB1 = {
    785                 fRef = F5FD788A034828E101AEEDB1;
    786                 isa = PBXTextBookmark;
    787                 name = "FSAWindowManager.m: 270";
    788                 rLen = 0;
    789                 rLoc = 8244;
    790                 rType = 0;
    791                 vrLen = 1209;
    792                 vrLoc = 6919;
    793         };
    794         F5486B94034A85A801AEEDB1 = {
    795                 fRef = F574ADDB020ACAC801AEEDB1;
    796                 isa = PBXTextBookmark;
    797                 name = "FSAController.m: FSA_associateWithInterface:";
    798                 rLen = 0;
    799                 rLoc = 8299;
    800                 rType = 0;
    801                 vrLen = 1094;
    802                 vrLoc = 7296;
    803         };
    804         F5486B95034A85A801AEEDB1 = {
    805                 fRef = F523EA2B020CF06A01AEEC37;
    806                 isa = PBXTextBookmark;
    807                 name = "FSAnywhere.h: 1";
    808                 rLen = 0;
    809                 rLoc = 0;
    810                 rType = 0;
    811                 vrLen = 319;
    812                 vrLoc = 0;
    813         };
    814         F5486B96034A85A801AEEDB1 = {
    815                 fRef = F5EFC2C9020A6CD101AEEDB1;
    816                 isa = PBXTextBookmark;
    817                 name = "DeVercruesseProcess.m: initWithPSN:";
    818                 rLen = 0;
    819                 rLoc = 2022;
    820                 rType = 0;
    821                 vrLen = 863;
    822                 vrLoc = 1426;
    823         };
    824         F5486B97034A85A801AEEDB1 = {
    825                 fRef = F523EA2B020CF06A01AEEC37;
    826                 isa = PBXTextBookmark;
    827                 name = "FSAnywhere.h: 1";
    828                 rLen = 0;
    829                 rLoc = 0;
    830                 rType = 0;
    831                 vrLen = 319;
    832                 vrLoc = 0;
    833         };
    834         F5486B98034A85A801AEEDB1 = {
    835                 fRef = F574ADDB020ACAC801AEEDB1;
    836                 isa = PBXTextBookmark;
    837                 name = "FSAController.m: __VERSION__";
    838                 rLen = 0;
    839                 rLoc = 0;
    840                 rType = 0;
    841                 vrLen = 1163;
    842                 vrLoc = 0;
    843         };
    844         F5486B99034A85A801AEEDB1 = {
    845                 fRef = F5FF50BD02E53B9E01AEEDB1;
    846                 isa = PBXTextBookmark;
    847                 name = "FSAViewAssociationController.m: __STDC__";
    848                 rLen = 0;
    849                 rLoc = 179;
    850                 rType = 0;
    851                 vrLen = 1261;
    852                 vrLoc = 0;
    853         };
    854         F5486B9A034A85A801AEEDB1 = {
    855                 fRef = F574ADDB020ACAC801AEEDB1;
    856                 isa = PBXTextBookmark;
    857                 name = "FSAController.m: FSA_associateWithInterface:";
    858                 rLen = 0;
    859                 rLoc = 8336;
    860                 rType = 0;
    861                 vrLen = 1027;
    862                 vrLoc = 7296;
    863         };
    864         F5486B9B034A85A801AEEDB1 = {
    865                 fRef = F5FD788A034828E101AEEDB1;
    866                 isa = PBXTextBookmark;
    867                 name = "FSAWindowManager.m: 270";
    868                 rLen = 0;
    869                 rLoc = 8244;
    870                 rType = 0;
    871                 vrLen = 1209;
    872                 vrLoc = 6919;
    873         };
    874         F5486B9C034A85A801AEEDB1 = {
    875                 fRef = F574ADDB020ACAC801AEEDB1;
    876                 isa = PBXTextBookmark;
    877                 name = "FSAController.m: FSA_associateWithInterface:";
    878                 rLen = 0;
    879                 rLoc = 8299;
    880                 rType = 0;
    881                 vrLen = 1094;
    882                 vrLoc = 7296;
    883         };
    884         F5486B9D034A85A801AEEDB1 = {
    885                 fRef = F523EA2B020CF06A01AEEC37;
    886                 isa = PBXTextBookmark;
    887                 name = "FSAnywhere.h: 9";
    888                 rLen = 0;
    889                 rLoc = 176;
    890                 rType = 0;
    891                 vrLen = 319;
    892                 vrLoc = 0;
    893692        };
    894693        F574ADDB020ACAC801AEEDB1 = {
  • trunk/Cocoa/F-Script Anywhere/Source/F-Script Anywhere.pbproj/project.pbxproj

    r16 r19  
    366366        <string>F-Script Anywhere</string>
    367367        <key>CFBundleGetInfoString</key>
    368         <string>F-Script Anywhere 1.1.5, © 2002 Nicholas Riley</string>
     368        <string>F-Script Anywhere 1.1.6d1, © 2002 Nicholas Riley</string>
    369369        <key>CFBundleIconFile</key>
    370370        <string>Application icon</string>
     
    378378        <string>APPL</string>
    379379        <key>CFBundleShortVersionString</key>
    380         <string>1.1.5</string>
     380        <string>1.1.6d1</string>
    381381        <key>CFBundleSignature</key>
    382382        <string>FSAn</string>
    383383        <key>CFBundleVersion</key>
    384         <string>1.1.5</string>
     384        <string>1.1.6d1</string>
    385385        <key>NSMainNibFile</key>
    386386        <string>MainMenu</string>
  • trunk/Cocoa/F-Script Anywhere/Source/FSAAppList.m

    r16 r19  
    6969- (void)awakeFromNib;
    7070{
     71    NSWindow *window = [tableView window];
     72   
    7173    processManager = [DeVercruesseProcessManager defaultManager];
    7274    cocoaApps = [[NSMutableArray alloc] init];
     
    7981        [[tableView tableColumnWithIdentifier: FSATableColumnIdentifier_checkMark]
    8082            setDataCell: [[[NSImageCell alloc] init] autorelease]];
    81     [[tableView window] setResizeIncrements: NSMakeSize(1, [tableView cellHeight])];
     83    [window setResizeIncrements: NSMakeSize(1, [tableView cellHeight])];
    8284
    8385    [self update];
    84     [[tableView window] makeFirstResponder: tableView];
     86    [window makeFirstResponder: tableView];
     87    [window makeKeyAndOrderFront: self];
    8588}
    8689
  • trunk/Cocoa/F-Script Anywhere/Source/FSAController.h

    r14 r19  
    3535    System *system;
    3636    FSAViewAssociationController *viewAssociationController;
     37    unsigned interpreterNum;
    3738}
    3839
     
    4142
    4243- (FSInterpreterView *)interpreterView;
     44- (NSString *)interpreterLabel;
    4345- (System *)system;
    4446
  • trunk/Cocoa/F-Script Anywhere/Source/FSAController.m

    r14 r19  
    2828#import "FSAViewAssociationController.h"
    2929#import "FSAnywhere.h"
     30#import "FSAWindowManager.h"
    3031#import <FScript/FSInterpreter.h>
    3132
     
    107108            item = [fsaMenu addItemWithTitle: NSLocalizedStringFromTableInBundle(@"About F-Script AnywhereÉ", @"FSA", bundle, @"Title of Info Panel menu item") action:@selector(showInfo:) keyEquivalent: @""];
    108109            [item setTarget: self];
     110            [[FSAWindowManager sharedManager] setWindowMenu: fsaMenu];
    109111        }
    110112    }
     
    118120    sel = [menuItem action];
    119121    if (sel == @selector(showInfo:) || sel == @selector(createInterpreterWindow:)) return YES;
    120     FSALog(@"-[FSAController validateMenuItem:] unknown menu item for validation: %@", menuItem);
     122    FSALog(@"+[FSAController validateMenuItem:] unknown menu item for validation: %@", menuItem);
    121123    return NO;
    122124}
     
    129131+ (void)showInfo:(id)sender;
    130132{
    131     int result = NSRunInformationalAlertPanel(@"About F-Script Anywhere", @"F-Script Anywhere lets you embed a F-Script interpreter in a Cocoa application while it is running.\n\nF-Script Anywhere is currently installed in this application.  To remove it, quit this application.\n\nFor more information about F-Script, please visit its Web site %@.", @"OK", @"Visit Web Site", nil, FSA_FScriptURL);
     133    int result = NSRunInformationalAlertPanel([NSString stringWithFormat: @"About F-Script Anywhere (version %s)", FSA_VERSION], @"F-Script Anywhere lets you embed a F-Script interpreter in a Cocoa application while it is running.\n\nF-Script Anywhere is currently installed in this application.  To remove it, quit this application.\n\nFor more information about F-Script, please visit its Web site %@.", @"OK", @"Visit Web Site", nil, FSA_FScriptURL);
    132134    if (result == NSAlertAlternateReturn) {
    133135        [[NSWorkspace sharedWorkspace] openURL: [NSURL URLWithString: FSA_FScriptURL]];
     
    144146
    145147    if (self != nil) {
    146         NSString *appName = nil;
    147148        NSWindow *window = [self window];
    148 
    149         NSAssert(window != nil, @"Can't get interpreter window!");
     149        NSString *label;
     150        static unsigned numInterpWindows = 0;
     151
     152        NSAssert(window != nil, @"CanÕt get interpreter window!");
     153        if (interpreterNum == 0) interpreterNum = ++numInterpWindows;
     154        if ( (label = [self interpreterLabel]) != nil) {
     155            [window setTitle: [NSString stringWithFormat: @"%@: %@", [window title], label]];
     156        }
     157
     158        [window setLevel: NSNormalWindowLevel]; // XXX if set floating, it is globally floating!
     159        [self showWindow: self];
     160        [window makeKeyAndOrderFront: self];
     161#warning this should go away when F-Script properly accepts firstResponder on the InterpreterView
     162        [window makeFirstResponder: (NSView *)[[[self interpreterView] cliView] shellView]];
     163        [[FSAWindowManager sharedManager] registerWindow: window];
     164        system = [[[self interpreterView] interpreter] objectForIdentifier: @"sys" found: NULL];
     165        [system retain];
     166        NSAssert1([system isKindOfClass: [System class]], @"Initial value bound to identifier 'sys' is not a System object, but %@", system);
     167    }
     168   
     169    return self;
     170}
     171
     172- (void)dealloc;
     173{
     174    [system release];
     175    [super dealloc];
     176}
     177
     178- (NSString *)interpreterLabel;
     179{
     180    static NSString *appName = nil;
     181    static BOOL retrievedAppName = NO;
     182   
     183    if (appName == nil) {
     184        if (retrievedAppName) return nil;
    150185        NS_DURING
    151186            appName = [[[NSBundle mainBundle] infoDictionary] objectForKey: @"CFBundleName"];
     
    153188            FSALog(@"Exception occurred while trying to obtain application name: %@", localException);
    154189        NS_ENDHANDLER
    155         if (appName != nil) {
    156             [window setTitle: [NSString stringWithFormat: @"%@: %@", [window title], appName]];
    157         }
    158 
    159         [window setLevel: NSNormalWindowLevel]; // XXX if set floating, it is globally floating!
    160         [self showWindow: self];
    161         [window makeKeyAndOrderFront: self];
    162 #warning this should go away when F-Script properly accepts firstResponder on the InterpreterView
    163         [window makeFirstResponder: (NSView *)[[[self interpreterView] cliView] shellView]];
    164         system = [[[self interpreterView] interpreter] objectForIdentifier: @"sys" found: NULL];
    165         [system retain];
    166         NSAssert1([system isKindOfClass: [System class]], @"Initial value bound to identifier 'sys' is not a System object, but %@", system);
    167     }
    168    
    169     return self;
    170 }
    171 
    172 - (void)dealloc;
    173 {
    174     [system release];
    175     [super dealloc];
     190        retrievedAppName = YES;
     191    }
     192    if (interpreterNum == 1) return appName;
     193    return [NSString stringWithFormat: @"%@ [%u]", appName, interpreterNum];
    176194}
    177195
     
    194212{
    195213    NS_DURING
     214        FSAWindowManager *wm = [FSAWindowManager sharedManager];
    196215        if (viewAssociationController == nil) {
    197216            viewAssociationController = [[FSAViewAssociationController alloc] initWithFSAController: self];
    198217        }
    199218        [viewAssociationController showWindow: self];
     219        if (![wm windowIsRegistered: [viewAssociationController window]]) {
     220            [wm registerSubordinateWindow: [viewAssociationController window]
     221                                forWindow: [self window]];
     222        }
    200223    NS_HANDLER
    201224        FSALog(@"%@", localException);
  • trunk/Cocoa/F-Script Anywhere/Source/FSAViewAssociationController.h

    r14 r19  
    3838    IBOutlet NSTextField *variableNameField;
    3939    IBOutlet NSTextField *statusField;
    40     NSView *selectedView;
     40    NSCursor *bullseyeCursor;
     41    id selectedElement;
    4142    NSMenu *viewHierarchyMenu;
    4243    FSInterpreter *interpreter;
  • trunk/Cocoa/F-Script Anywhere/Source/FSAViewAssociationController.m

    r14 r19  
    2727#import "FSAViewAssociationController.h"
    2828#import "FSAController.h"
     29#import "FSAWindowManager.h"
    2930#import "FSAnywhere.h"
    3031#import <FScript/FSInterpreter.h>
     
    4344
    4445    if (self != nil) {
     46        NSImage *bullseyeImage = [[NSImage alloc] initByReferencingFile: [[NSBundle bundleForClass: [self class]] pathForResource: @"Bullseye menu cursor" ofType: @"tiff"]];
     47        NSString *label = [fsa interpreterLabel];
     48       
    4549        interpreter = [[[fsa interpreterView] interpreter] retain];
    4650        system = [fsa system];
    47         [self window];
     51        [[self window] setResizeIncrements: NSMakeSize(1, 12)];
     52        if (label != nil) [[self window] setTitle: [NSString stringWithFormat: @"%@: %@", [[self window] title], label]];
     53        bullseyeCursor = [[NSCursor alloc] initWithImage: bullseyeImage hotSpot: NSMakePoint(6, 7)];
    4854        [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(controlTextDidChange:) name: NSControlTextDidChangeNotification object: variableNameField];
    4955        [[captureButton cell] setShowsStateBy: NSContentsCellMask | NSChangeGrayCellMask];
     56        [captureButton setState: NSOffState];
    5057        [self update: nil];
    5158    }
     
    5663{
    5764    [viewHierarchyMenu release];
    58     [selectedView release];
     65    [selectedElement release];
    5966    [interpreter release];
     67    [bullseyeCursor release];
    6068    [[NSNotificationCenter defaultCenter] removeObserver: self];
    6169    [super dealloc];
     
    6674    NSString *variableName = [variableNameField stringValue];
    6775    BOOL canAssignToVariable = NO;
    68     [browseButton setEnabled: selectedView != nil];
     76    [browseButton setEnabled: selectedElement != nil];
    6977    [statusField setStringValue: @""];
    7078    if ([variableName length] != 0) {
    7179        if (![Compiler isValidIndentifier: variableName]) {
    7280            [statusField setStringValue: @"Invalid name: contains spaces, punctuation or non-ASCII characters"];
    73         } else if (selectedView != nil) {
     81        } else if (selectedElement != nil) {
    7482            [statusField setStringValue: @"Click ÒAssociateÓ to assign to this variable"];
    7583            canAssignToVariable = YES;
     
    8088}
    8189
    82 - (void)stopCapturing;
     90- (void)stopCapturingVoluntarily:(BOOL)voluntary;
    8391{
    8492    FSALog(@"stopping capture");
     93    [[NSNotificationCenter defaultCenter] removeObserver: self name: NSMenuWillSendActionNotification object: nil];
    8594    [captureButton setState: NSOffState];
    86     [statusField setStringValue: @""];
    8795    [self update: nil];
    88     [variableNameField becomeFirstResponder];
     96    if (voluntary) {
     97        FSALog(@"voluntary!");
     98        [[self window] makeKeyAndOrderFront: self];
     99        [bullseyeCursor pop];
     100        [variableNameField becomeFirstResponder];       
     101    }
     102}
     103
     104- (void)_addElement:(id)element withLabel:(NSString *)label toSubmenuForItem:(NSMenuItem *)item;
     105{
     106    NSMenu *submenu = [item submenu];
     107    NSMenuItem *subItem;
     108    if (submenu == nil) {
     109        id superElement = [item representedObject];
     110        submenu = [[NSMenu alloc] initWithTitle: @""];
     111        subItem = [submenu addItemWithTitle: NSStringFromClass([superElement class])
     112                                     action: @selector(elementSelected:)
     113                              keyEquivalent: @""];
     114        [subItem setTarget: self];
     115        [subItem setRepresentedObject: superElement];
     116        [item setSubmenu: submenu];
     117        [submenu release];
     118    }
     119    [submenu addItem: [NSMenuItem separatorItem]];
     120    [submenu addItemWithTitle: label action: nil keyEquivalent: @""];
     121    subItem = [submenu addItemWithTitle: [@"  "
     122                stringByAppendingString: NSStringFromClass([element class])]
     123                                           action: @selector(elementSelected:)
     124                                    keyEquivalent: @""];
     125    [subItem setTarget: self];
     126    [subItem setRepresentedObject: element];
     127}
     128
     129- (void)_addValueForSelector:(SEL)sel withLabel:(NSString *)label toSubmenuForItem:(NSMenuItem *)item;
     130{
     131    id obj = [item representedObject];
     132    if ([obj respondsToSelector: sel]) {
     133        id value = [obj performSelector: sel];
     134        if (value == nil) return;
     135        [self _addElement: value withLabel: label toSubmenuForItem: item];
     136    }
    89137}
    90138
     
    99147    [item setTarget: self];
    100148    [item setRepresentedObject: element];
     149    [self _addValueForSelector: @selector(windowController) withLabel: @"Window Controller" toSubmenuForItem: item];
     150    [self _addValueForSelector: @selector(delegate) withLabel: @"Delegate" toSubmenuForItem: item];
     151    [self _addValueForSelector: @selector(dataSource) withLabel: @"Data Source" toSubmenuForItem: item];
     152    [self _addValueForSelector: @selector(target) withLabel: @"Target" toSubmenuForItem: item];
     153    [self _addValueForSelector: @selector(cell) withLabel: @"Cell" toSubmenuForItem: item];
    101154}
    102155
     
    106159    NSView *view, *superView = nil, *contentView;
    107160    NSWindow *eventWindow;
    108 
    109     FSALog(@"capturing one");
     161    static unsigned captureCount = 0;
     162    unsigned capture = captureCount++;
     163   
     164    FSALog(@"%4u>capturing one", capture);
    110165    [captureButton setState: NSOnState];
    111 
    112     event = [NSApp nextEventMatchingMask: NSLeftMouseDownMask | NSRightMouseDownMask | NSKeyUpMask
     166    [bullseyeCursor push];
     167
     168captureElement:
     169    [bullseyeCursor set];
     170    FSALog(@"%4u waiting for event...", capture);
     171    [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(menuWillSendAction:) name: NSMenuWillSendActionNotification object: nil];
     172    event = [NSApp nextEventMatchingMask: NSLeftMouseDownMask | NSRightMouseDownMask | NSOtherMouseDownMask | NSKeyUpMask | NSAppKitDefinedMask
    113173                               untilDate: [NSDate distantFuture]
    114174                                  inMode: NSEventTrackingRunLoopMode
    115175                                 dequeue: YES];
     176    FSALog(@"%4u got %@", capture, event);
     177    [[NSNotificationCenter defaultCenter] removeObserver: self name: NSMenuWillSendActionNotification object: nil];
     178    if ([event type] == NSAppKitDefined) {
     179        if ([event subtype] == NSApplicationDeactivatedEventType) {
     180            [NSApp discardEventsMatchingMask: NSAnyEventMask beforeEvent: event];
     181            [self stopCapturingVoluntarily: NO];
     182            [NSApp sendEvent: event];
     183            return;
     184        }
     185        goto captureElement;
     186    }
    116187    if ([event type] == NSKeyUp) {
    117         [self stopCapturing];
     188        [NSApp discardEventsMatchingMask: NSAnyEventMask & ~NSKeyUpMask beforeEvent: event];
     189        FSALog(@"%4u<stop capture [key up]", capture);
     190        [self stopCapturingVoluntarily: YES];
    118191        return;
    119192    }
     
    125198        view = [[contentView superview] hitTest: [event locationInWindow]];
    126199        if (view == captureButton) {
    127             [self stopCapturing];
     200            [NSApp discardEventsMatchingMask: NSAnyEventMask & ~NSKeyUpMask beforeEvent: event];
     201            FSALog(@"%4u<stop capture [capture button]", capture);
     202            [self stopCapturingVoluntarily: YES];
     203            NS_VOIDRETURN;
     204        }
     205        if (view == nil) {
     206            [self captureOneView];
    128207            NS_VOIDRETURN;
    129208        }
     
    144223    NS_ENDHANDLER
    145224    [NSMenu popUpContextMenu: viewHierarchyMenu withEvent: event forView: view];
    146     if ([captureButton state] == NSOnState)
    147         [self captureOneView];
     225    if ([captureButton state] == NSOnState) goto captureElement;
     226    FSALog(@"%4u<stop capture [fell through to end]", capture);
    148227}
    149228
     
    151230{
    152231    [statusField setStringValue: @"Click inside one of this applicationÕs windows to select."];
    153     [selectedView release]; selectedView = nil;
     232    [selectedElement release]; selectedElement = nil;
    154233    [self update: nil];
    155234    [self captureOneView];
    156235}
    157236
    158 - (void)elementSelected:(NSMenuItem *)sender;
    159 {
    160     NSView *element = [sender representedObject];
    161     FSALog(@"element selected: %@", sender);
     237- (void)setSelectedElement:(id)element;
     238{
     239    FSALog(@"element selected: %@", element);
    162240    NS_DURING
    163241        [descriptionField setStringValue: [element description]];
    164         [selectedView release];
    165         selectedView = [element retain];
     242        [selectedElement release];
     243        selectedElement = [element retain];
     244        [[self window] orderFront: self];
    166245    NS_HANDLER
    167246        [descriptionField setStringValue:
     
    169248    NS_ENDHANDLER
    170249    [viewHierarchyMenu release]; viewHierarchyMenu = nil;
     250}
     251
     252- (void)elementSelected:(NSMenuItem *)sender;
     253{
     254    [self setSelectedElement: [sender representedObject]];
    171255    [self captureOneView];
     256}
     257
     258- (void)menuWillSendAction:(NSNotification *)notification;
     259{
     260    NSMenuItem *item = [[notification userInfo] objectForKey: @"MenuItem"];
     261    [self setSelectedElement: item];
     262    [NSApp discardEventsMatchingMask: NSAnyEventMask beforeEvent: [NSApp currentEvent]];
     263    // we're already capturing, don't do it again
     264}
     265
     266- (void)controlTextDidChange:(NSNotification *)notification;
     267{
     268    [self update: nil];
    172269}
    173270
     
    178275        NSString *variableName = [variableNameField stringValue];
    179276        [statusField setStringValue: @"AssociatingÉ"];
    180         [interpreter setObject: selectedView forIdentifier: variableName];
     277        [interpreter setObject: selectedElement forIdentifier: variableName];
    181278        [statusField setStringValue: [NSString stringWithFormat: @"Assigned variable Ò%@Ó", variableName]];
    182279    NS_HANDLER
     
    188285{
    189286    FSALog(@"system: %@", system);
    190     [system browse: selectedView];
     287    [system browse: selectedElement];
    191288    [statusField setStringValue: @"Opened object browser"];
    192289}
    193290
    194 - (void)controlTextDidChange:(NSNotification *)notification;
    195 {
    196     [self update: nil];
    197 }
    198 
    199291@end
  • trunk/Cocoa/F-Script Anywhere/Source/FSAnywhere.h

    r14 r19  
    1010
    1111#define FSA_DEBUG 0
    12 #define FSA_VERSION "1.1.2"
     12#define FSA_VERSION "1.1.5"
    1313
    1414extern void FSALog(NSString *fmt, ...);
  • trunk/Cocoa/F-Script Anywhere/Source/NJRLabeledImageCell.m

    r14 r19  
    105105        if (preferredRep != nil && abs([preferredRep size].width - imageSize.width) < 1 && abs([preferredRep size].height != imageSize.height) < 1) {
    106106            [self setImage: [imageCacheSource cachedImage]];
    107             FSALog(@"%@ accepting cached image: %@", [self stringValue], preferredRep);
     107            // FSALog(@"%@ accepting cached image: %@", [self stringValue], preferredRep);
    108108        } else {
    109109            NSArray     *imageReps = [image representations];
     
    112112           
    113113            preferredRep = [imageReps objectAtIndex: 0];
    114             FSALog(@"%@ rejecting cached image: %@", [self stringValue], preferredRep);
     114            // FSALog(@"%@ rejecting cached image: %@", [self stringValue], preferredRep);
    115115            for (i = 1 ; i < repCount ; i++) {
    116116                rep = [imageReps objectAtIndex: i];
  • trunk/Cocoa/F-Script Anywhere/Source/Read Me

    r16 r19  
    218218---------------
    219219
     2201.1.6 -                 - better manage window on startup (only display
     221                          when launch complete)
    2202221.1.5 - 1 October 2002  - better identify Cocoa vs. Carbon applications
    221223                          on Jaguar; added hierarchical window list to
  • trunk/Cocoa/F-Script Anywhere/Source/VERSION

    r16 r19  
    1 1.1.5
     11.1.6d1
Note: See TracChangeset for help on using the changeset viewer.