Annotation of chimera/FindDlgController.mm, revision 1.7

1.2       hyatt       1: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
                      2: /* ***** BEGIN LICENSE BLOCK *****
                      3:  * Version: NPL 1.1/GPL 2.0/LGPL 2.1
                      4:  *
                      5:  * The contents of this file are subject to the Netscape Public License
                      6:  * Version 1.1 (the "License"); you may not use this file except in
                      7:  * compliance with the License. You may obtain a copy of the License at
                      8:  * http://www.mozilla.org/NPL/
                      9:  *
                     10:  * Software distributed under the License is distributed on an "AS IS" basis,
                     11:  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
                     12:  * for the specific language governing rights and limitations under the
                     13:  * License.
                     14:  *
                     15:  * The Original Code is mozilla.org code.
                     16:  *
                     17:  * The Initial Developer of the Original Code is 
                     18:  * Netscape Communications Corporation.
                     19:  * Portions created by the Initial Developer are Copyright (C) 2002
                     20:  * the Initial Developer. All Rights Reserved.
                     21:  *
                     22:  * Contributor(s):
                     23:  *
                     24:  * Alternatively, the contents of this file may be used under the terms of
                     25:  * either the GNU General Public License Version 2 or later (the "GPL"), or 
                     26:  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
                     27:  * in which case the provisions of the GPL or the LGPL are applicable instead
                     28:  * of those above. If you wish to allow use of your version of this file only
                     29:  * under the terms of either the GPL or the LGPL, and not to allow others to
                     30:  * use your version of this file under the terms of the NPL, indicate your
                     31:  * decision by deleting the provisions above and replace them with the notice
                     32:  * and other provisions required by the GPL or the LGPL. If you do not delete
                     33:  * the provisions above, a recipient may use your version of this file under
                     34:  * the terms of any one of the NPL, the GPL or the LGPL.
                     35:  *
                     36:  * ***** END LICENSE BLOCK ***** */
1.1       hyatt      37: 
                     38: #import "FindDlgController.h"
1.7     ! pinkerto   39: #import "BrowserWindowController.h"
        !            40: #import "Find.h"
1.1       hyatt      41: #include "nsCOMPtr.h"
                     42: 
                     43: @implementation FindDlgController
                     44: 
                     45: - (void)windowDidLoad
                     46: {
                     47: }
                     48: 
                     49: 
                     50: 
1.7     ! pinkerto   51: //
        !            52: // -find
        !            53: //
        !            54: // User clicked the find button, send the action to the window controller of the
        !            55: // frontmost browser window. If we found something, hide the window. If not, beep.
        !            56: //
        !            57: -(IBAction) find: (id)aSender
1.1       hyatt      58: {
1.7     ! pinkerto   59:   NSWindowController* controller = [[NSApp mainWindow] windowController];
        !            60:   if ( [controller conformsToProtocol:@protocol(Find)] ) {
        !            61:     id<Find> browserController = controller;
        !            62:     mSearchText = [mSearchField stringValue];
        !            63:     BOOL found = [browserController findInPage:mSearchText];
        !            64:     if ( found ) 
        !            65:       [self close];
        !            66:     else
        !            67:       NSBeep();
        !            68:   }
        !            69:   else
        !            70:     NSBeep();
1.1       hyatt      71: }
                     72: 
1.3       pinkerto   73: 
                     74: //
1.7     ! pinkerto   75: // -findAgain
1.3       pinkerto   76: //
1.7     ! pinkerto   77: // Someone hit "find again" in the edit menu, send the action to the window controller of the
        !            78: // frontmost browser window. Beep if we didn't find something.
1.3       pinkerto   79: //
1.7     ! pinkerto   80: -(IBAction) findAgain: (id)aSender
1.1       hyatt      81: {
1.4       pinkerto   82:   NSWindowController* controller = [[NSApp mainWindow] windowController];
1.7     ! pinkerto   83:   if ( [controller conformsToProtocol:@protocol(Find)] ) {
        !            84:     id<Find> browserController = controller;
        !            85:     BOOL found = [browserController findInPage:mSearchText];
        !            86:     if ( !found )
        !            87:       NSBeep();
        !            88:   }
        !            89:   else
        !            90:     NSBeep();
1.1       hyatt      91: }
                     92: 
1.4       pinkerto   93: 
                     94: //
1.5       pinkerto   95: // controlTextDidChange
1.4       pinkerto   96: //
                     97: // Check if there is anything in the text field, and if not, disable the find button
                     98: //
1.5       pinkerto   99: - (void)controlTextDidChange:(NSNotification *)aNotification
1.4       pinkerto  100: {
                    101:   if ( [[mSearchField stringValue] length] )
                    102:     [mFindButton setEnabled:PR_TRUE];
                    103:   else
                    104:     [mFindButton setEnabled:PR_FALSE];    
                    105: }
1.1       hyatt     106: 
                    107: @end

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>