AutocompleteBaseViewController.h 1.9 KB
Newer Older
Julio Hermosa committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
/*
 * Copyright 2016 Google Inc. All rights reserved.
 *
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
 * file except in compliance with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
 * ANY KIND, either express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */

#import <GooglePlaces/GooglePlaces.h>
#import "GooglePlacesDemos/Support/BaseDemoViewController.h"

/**
 * All other autocomplete demo classes inherit from this class. This class optionally adds a button
 * to present the autocomplete widget, and displays the results when these are selected.
 */
@interface AutocompleteBaseViewController : BaseDemoViewController

/** Filter to apply to autocomplete suggestions (can be nil). */
@property(nonatomic, strong) GMSAutocompleteFilter *autocompleteFilter;

/**
 * The |GMSPlaceField| for specifying explicit place details to be requested for the |GMSPlace|
 * result.
 */
@property(nonatomic, assign) GMSPlaceField placeFields;

/**
 * Build a UIButton to display the autocomplete widget and add it to the UI. This should be called
 * only if the demo requires such a button, e.g. demos for modal presentation of widgets would use
 * this, while a UITextField demo would not.
 *
 * @param selector The selector to send to self when the button is tapped.
 *
 * @return The UIButton which was added to the UI.
 */
- (UIButton *)createShowAutocompleteButton:(SEL)selector;

- (void)autocompleteDidSelectPlace:(GMSPlace *)place;
- (void)autocompleteDidFail:(NSError *)error;
- (void)autocompleteDidCancel;
- (void)showCustomMessageInResultPane:(NSString *)message;
- (void)resetViews;

@end