001/** 002 * Copyright 2013 John Ericksen 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.androidtransfuse.plugins; 017 018import org.androidtransfuse.ConfigurationRepository; 019import org.androidtransfuse.TransfusePlugin; 020import org.androidtransfuse.adapter.ASTPrimitiveType; 021import org.androidtransfuse.annotations.*; 022import org.androidtransfuse.bootstrap.Bootstrap; 023import org.androidtransfuse.listeners.FragmentMenuComponent; 024import org.androidtransfuse.util.AndroidLiterals; 025 026/** 027 * @author John Ericksen 028 */ 029@Bootstrap 030public class FragmentPlugin implements TransfusePlugin{ 031 @Override 032 public void run(ConfigurationRepository repository) { 033 034 repository.component(Fragment.class).method("onCreateView", AndroidLiterals.LAYOUT_INFLATER, AndroidLiterals.VIEW_GROUP, AndroidLiterals.BUNDLE).event(OnCreate.class).registration(); 035 repository.component(Fragment.class).method("onActivityCreated", AndroidLiterals.BUNDLE).event(OnActivityCreated.class).superCall(); 036 repository.component(Fragment.class).method("onStart").event(OnStart.class).superCall(); 037 repository.component(Fragment.class).method("onResume").event(OnResume.class).superCall(); 038 repository.component(Fragment.class).method("onPause").event(OnPause.class).superCall(); 039 repository.component(Fragment.class).method("onStop").event(OnStop.class).superCall(); 040 repository.component(Fragment.class).method("onDestroyView").event(OnDestroyView.class).superCall(); 041 repository.component(Fragment.class).method("onDestroy").event(OnDestroy.class).superCall(); 042 repository.component(Fragment.class).method("onDetach").event(OnDetach.class).superCall(); 043 repository.component(Fragment.class).method("onLowMemory").event(OnLowMemory.class).superCall(); 044 repository.component(Fragment.class).method("onActivityResult", ASTPrimitiveType.INT, ASTPrimitiveType.INT, AndroidLiterals.INTENT).event(OnActivityResult.class); 045 repository.component(Fragment.class).method("onConfigurationChanged", AndroidLiterals.CONTENT_CONFIGURATION).event(OnConfigurationChanged.class).superCall(); 046 047 repository.component(Fragment.class) 048 .extending(AndroidLiterals.LIST_FRAGMENT) 049 .method("onListItemClick", AndroidLiterals.LIST_VIEW, AndroidLiterals.VIEW, ASTPrimitiveType.INT, ASTPrimitiveType.LONG).event(OnListItemClick.class); 050 051 repository.component(Fragment.class).callThroughEvent(FragmentMenuComponent.class); 052 053 repository.component(Fragment.class).listener(AndroidLiterals.VIEW_ON_CLICK_LISTENER, AndroidLiterals.VIEW, "setOnClickListener"); 054 repository.component(Fragment.class).listener(AndroidLiterals.VIEW_ON_LONG_CLICK_LISTENER, AndroidLiterals.VIEW, "setOnLongClickListener"); 055 repository.component(Fragment.class).listener(AndroidLiterals.VIEW_ON_CREATE_CONTEXT_MENU_LISTENER, AndroidLiterals.VIEW, "setOnCreateContextMenuListener"); 056 repository.component(Fragment.class).listener(AndroidLiterals.VIEW_ON_KEY_LISTENER, AndroidLiterals.VIEW, "setOnKeyListener"); 057 repository.component(Fragment.class).listener(AndroidLiterals.VIEW_ON_TOUCH_LISTENER, AndroidLiterals.VIEW, "setOnTouchListener"); 058 repository.component(Fragment.class).listener(AndroidLiterals.VIEW_ON_FOCUS_CHANGE_LISTENER, AndroidLiterals.VIEW, "setOnFocusChangeListener"); 059 repository.component(Fragment.class).listener(AndroidLiterals.ADAPTER_VIEW_ON_ITEM_CLICK_LISTENER, AndroidLiterals.ADAPTER_VIEW, "setOnItemClickListener"); 060 repository.component(Fragment.class).listener(AndroidLiterals.ADAPTER_VIEW_ON_ITEM_LONG_CLICK_LISTENER, AndroidLiterals.ADAPTER_VIEW, "setOnItemLongClickListener"); 061 repository.component(Fragment.class).listener(AndroidLiterals.ADAPTER_VIEW_ON_ITEM_SELECTED_LISTENER, AndroidLiterals.ADAPTER_VIEW, "setOnItemSelectedListener"); 062 repository.component(Fragment.class).listener(AndroidLiterals.ABS_LIST_VIEW_ON_SCROLL_LISTENER, AndroidLiterals.ABS_LIST_VIEw, "setOnScrollListener"); 063 repository.component(Fragment.class).listener(AndroidLiterals.ABS_LIST_VIEW_MULTI_CHOICE_MODE_LISTENER, AndroidLiterals.ABS_LIST_VIEw, "setMultiChoiceModeListener"); 064 repository.component(Fragment.class).listener(AndroidLiterals.ABS_LIST_VIEW_RECYCLER_LISTENER, AndroidLiterals.ABS_LIST_VIEw, "setViewRecyclerListener"); 065 repository.component(Fragment.class).listener(AndroidLiterals.TEXT_VIEW_ON_EDITOR_ACTION_LISTENER, AndroidLiterals.TEXT_VIEW, "setOnEditorActionListener"); 066 067 } 068}