/* Copyright (C) 2007-2016 Inverse inc. This file is part of SOGo SOGo is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. SOGo is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with OGo; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef __UIxComponent_H_ #define __UIxComponent_H_ #import #import #import /* UIxComponent Common superclass for most components used in SOGo. TODO: document facilities. */ @class NSCalendarDate, NSTimeZone, NSMutableDictionary, SoUser, SOGoUserDefaults; @interface UIxComponent : SoComponent { NSMutableDictionary *queryParameters; NSCalendarDate *_selectedDate; NSDictionary *locale; SOGoUserDefaults *userDefaults; NSArray *languages; } + (NSArray *) amPmLabelKeys; + (NSArray *) monthLabelKeys; + (NSArray *) abbrMonthLabelKeys; - (NSString *)queryParameterForKey:(NSString *)_key; - (NSDictionary *)queryParameters; /* use this to set 'sticky' query parameters */ - (void)setQueryParameter:(NSString *)_param forKey:(NSString *)_key; /* date related query parameters */ - (NSDictionary *)queryParametersBySettingSelectedDate:(NSCalendarDate *)_date; - (void)setSelectedDateQueryParameter:(NSCalendarDate *)_newDate inDictionary:(NSMutableDictionary *)_qp; /* appends queryParameters to _method if any are set */ - (NSString *)completeHrefForMethod:(NSString *)_method; - (NSString *)ownMethodName; - (NSString *)userFolderPath; - (NSString *)applicationPath; - (NSString *)modulePath; - (NSString *)ownPath; - (NSString *)relativePathToUserFolderSubPath:(NSString *)_sub; /* date selection */ - (NSCalendarDate *) selectedDate; - (NSString *) dateStringForDate: (NSCalendarDate *)_date; - (BOOL) hideFrame; - (UIxComponent *) jsCloseWithRefreshMethod: (NSString *) methodName; /* SoUser */ - (NSString *) shortUserNameForDisplay; /* Common defaults and settings */ - (int) minimumSearchLength; - (NSString *) minimumSearchLengthLabel; /* labels */ - (NSString *) labelForKey:(NSString *)_key; - (NSString *) commonLabelForKey:(NSString *)_key; - (NSString *) labelForKey: (NSString *) _str withResourceManager: (WOResourceManager *) _rm; - (NSString *) localizedNameForDayOfWeek:(unsigned)_dayOfWeek; - (NSString *) localizedAbbreviatedNameForDayOfWeek:(unsigned)_dayOfWeek; - (NSString *) localizedNameForMonthOfYear:(unsigned)_monthOfYear; - (NSString *) localizedAbbreviatedNameForMonthOfYear:(unsigned)_monthOfYear; /* HTTP method safety */ - (BOOL) isInvokedBySafeMethod; /* display the "save" button */ - (BOOL) canCreateOrModify; /* locale */ - (NSDictionary *)locale; /* cached resource filenames */ - (WOResourceManager *) pageResourceManager; - (NSString *) urlForResourceFilename: (NSString *) filename; - (WOResponse *) responseWithStatus: (unsigned int) status; - (WOResponse *) responseWithStatus: (unsigned int) status andString: (NSString *) contentString; - (WOResponse *) responseWithStatus: (unsigned int) status andJSONRepresentation: (NSObject *) contentObject; - (WOResponse *) responseWith204; - (WOResponse *) redirectToLocation: (NSString *) newLocation; /* Debugging */ - (NSString *) buildDate; - (BOOL) isUIxDebugEnabled; @end #endif /* __UIxComponent_H_ */