OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_COCOA_AUTOCOMPLETE_TEXT_FIELD_H_ | 5 #ifndef CHROME_BROWSER_COCOA_AUTOCOMPLETE_TEXT_FIELD_H_ |
6 #define CHROME_BROWSER_COCOA_AUTOCOMPLETE_TEXT_FIELD_H_ | 6 #define CHROME_BROWSER_COCOA_AUTOCOMPLETE_TEXT_FIELD_H_ |
7 | 7 |
8 #import <Cocoa/Cocoa.h> | 8 #import <Cocoa/Cocoa.h> |
9 | 9 |
10 @class AutocompleteTextFieldCell; | 10 @class AutocompleteTextFieldCell; |
(...skipping 17 matching lines...) Expand all Loading... |
28 | 28 |
29 class AutocompleteTextFieldObserver { | 29 class AutocompleteTextFieldObserver { |
30 public: | 30 public: |
31 | 31 |
32 // Called when the control-key state changes while the field is | 32 // Called when the control-key state changes while the field is |
33 // first responder. | 33 // first responder. |
34 virtual void OnControlKeyChanged(bool pressed) = 0; | 34 virtual void OnControlKeyChanged(bool pressed) = 0; |
35 | 35 |
36 // Called when the user pastes into the field. | 36 // Called when the user pastes into the field. |
37 virtual void OnPaste() = 0; | 37 virtual void OnPaste() = 0; |
| 38 |
| 39 // Returns true if the current clipboard text supports paste and go |
| 40 // (or paste and search). |
| 41 virtual bool CanPasteAndGo() = 0; |
| 42 |
| 43 // Returns the appropriate "Paste and Go" or "Paste and Search" |
| 44 // context menu string, depending on what is currently in the |
| 45 // clipboard. Must not be called unless CanPasteAndGo() returns |
| 46 // true. |
| 47 virtual int GetPasteActionStringId() = 0; |
| 48 |
| 49 // Called when the user initiates a "paste and go" or "paste and |
| 50 // search" into |field_|. |
| 51 virtual void OnPasteAndGo() = 0; |
38 }; | 52 }; |
39 | 53 |
40 @protocol AutocompleteTextFieldDelegateMethods | |
41 // Returns nil if paste actions are not supported. | |
42 - (NSString*)control:(NSControl*)control | |
43 textPasteActionString:(NSText*)fieldEditor; | |
44 - (void)control:(NSControl*)control textDidPasteAndGo:(NSText*)fieldEditor; | |
45 @end | |
46 | |
47 @interface AutocompleteTextField : NSTextField { | 54 @interface AutocompleteTextField : NSTextField { |
48 @private | 55 @private |
49 AutocompleteTextFieldObserver* observer_; // weak, owned by location bar. | 56 AutocompleteTextFieldObserver* observer_; // weak, owned by location bar. |
50 } | 57 } |
51 | 58 |
52 @property AutocompleteTextFieldObserver* observer; | 59 @property AutocompleteTextFieldObserver* observer; |
53 | 60 |
54 // Convenience method to return the cell, casted appropriately. | 61 // Convenience method to return the cell, casted appropriately. |
55 - (AutocompleteTextFieldCell*)autocompleteTextFieldCell; | 62 - (AutocompleteTextFieldCell*)autocompleteTextFieldCell; |
56 | 63 |
57 // If the keyword, keyword hint, or search hint changed, then the | 64 // If the keyword, keyword hint, or search hint changed, then the |
58 // field needs to be relaidout. This accomplishes that in a manner | 65 // field needs to be relaidout. This accomplishes that in a manner |
59 // which doesn't disrupt the field delegate. | 66 // which doesn't disrupt the field delegate. |
60 - (void)resetFieldEditorFrameIfNeeded; | 67 - (void)resetFieldEditorFrameIfNeeded; |
61 | 68 |
62 @end | 69 @end |
63 | 70 |
64 #endif // CHROME_BROWSER_COCOA_AUTOCOMPLETE_TEXT_FIELD_H_ | 71 #endif // CHROME_BROWSER_COCOA_AUTOCOMPLETE_TEXT_FIELD_H_ |
OLD | NEW |