Commit ad029853 authored by 管鹏飞's avatar 管鹏飞

初始化

parent 3e777619
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9531" systemVersion="14F27" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" initialViewController="01J-lp-oVM">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/>
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
<viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" Copyright © 2016年 JianjiYuan. All rights reserved." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="obG-Y5-kRd">
<rect key="frame" x="20" y="626" width="335" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Macalline" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="GJd-Yh-RWb">
<rect key="frame" x="20" y="202" width="335" height="43"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="centerX" secondItem="obG-Y5-kRd" secondAttribute="centerX" id="5cz-MP-9tL"/>
<constraint firstAttribute="centerX" secondItem="GJd-Yh-RWb" secondAttribute="centerX" id="Q3B-4B-g5h"/>
<constraint firstItem="obG-Y5-kRd" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" constant="20" symbolic="YES" id="SfN-ll-jLj"/>
<constraint firstAttribute="bottom" secondItem="obG-Y5-kRd" secondAttribute="bottom" constant="20" id="Y44-ml-fuU"/>
<constraint firstItem="GJd-Yh-RWb" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="bottom" multiplier="1/3" constant="1" id="moa-c2-u7t"/>
<constraint firstItem="GJd-Yh-RWb" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" constant="20" symbolic="YES" id="x7j-FC-K8j"/>
</constraints>
</view>
<simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina47"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
</scene>
</scenes>
</document>
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:Macalline.xcodeproj">
</FileRef>
</Workspace>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDESourceControlProjectFavoriteDictionaryKey</key>
<false/>
<key>IDESourceControlProjectIdentifier</key>
<string>DEB8CA1A-0E56-469D-986E-67A85BD02E5A</string>
<key>IDESourceControlProjectName</key>
<string>Macalline</string>
<key>IDESourceControlProjectOriginsDictionary</key>
<dict>
<key>D86D9FE2-5D90-4D2E-A87C-2DEF8638D541</key>
<string>https://bestrun.dlinkddns.com/svn/Macalline</string>
</dict>
<key>IDESourceControlProjectPath</key>
<string>2_PROJECT/22_IOS/branches/Macalline/Macalline.xcodeproj/project.xcworkspace</string>
<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
<dict>
<key>D86D9FE2-5D90-4D2E-A87C-2DEF8638D541</key>
<string>../../../../../..</string>
</dict>
<key>IDESourceControlProjectRepositoryRootDictionary</key>
<dict>
<key>D86D9FE2-5D90-4D2E-A87C-2DEF8638D541</key>
<string>https://bestrun.dlinkddns.com/svn/Macalline</string>
</dict>
<key>IDESourceControlProjectURL</key>
<string>https://bestrun.dlinkddns.com/svn/Macalline/2_PROJECT/22_IOS/branches/Macalline/Macalline.xcodeproj</string>
<key>IDESourceControlProjectVersion</key>
<integer>110</integer>
<key>IDESourceControlProjectWCCIdentifier</key>
<string>D86D9FE2-5D90-4D2E-A87C-2DEF8638D541</string>
<key>IDESourceControlProjectWCConfigurations</key>
<array>
<dict>
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
<string>public.vcs.subversion</string>
<key>IDESourceControlWCCIdentifierKey</key>
<string>D86D9FE2-5D90-4D2E-A87C-2DEF8638D541</string>
<key>IDESourceControlWCCName</key>
<string>Macalline</string>
</dict>
</array>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:Macalline.xcodeproj">
</FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDESourceControlProjectFavoriteDictionaryKey</key>
<false/>
<key>IDESourceControlProjectIdentifier</key>
<string>004E4851-07CA-494D-AFDF-02A8B21EDB1C</string>
<key>IDESourceControlProjectName</key>
<string>Macalline</string>
<key>IDESourceControlProjectOriginsDictionary</key>
<dict>
<key>7E5078EE-AB8A-4831-8A67-153D0A15E277</key>
<string>https://bestrun.iplink.com.cn/svn/Macalline</string>
</dict>
<key>IDESourceControlProjectPath</key>
<string>2_PROJECT/22_IOS/branches/Macalline_second/Macalline.xcworkspace</string>
<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
<dict>
<key>7E5078EE-AB8A-4831-8A67-153D0A15E277</key>
<string>../../../../..</string>
</dict>
<key>IDESourceControlProjectRepositoryRootDictionary</key>
<dict>
<key>7E5078EE-AB8A-4831-8A67-153D0A15E277</key>
<string>https://bestrun.iplink.com.cn/svn/Macalline</string>
</dict>
<key>IDESourceControlProjectURL</key>
<string>https://bestrun.iplink.com.cn/svn/Macalline/2_PROJECT/22_IOS/branches/Macalline/Macalline.xcworkspace</string>
<key>IDESourceControlProjectVersion</key>
<integer>110</integer>
<key>IDESourceControlProjectWCCIdentifier</key>
<string>7E5078EE-AB8A-4831-8A67-153D0A15E277</string>
<key>IDESourceControlProjectWCConfigurations</key>
<array>
<dict>
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
<string>public.vcs.subversion</string>
<key>IDESourceControlWCCIdentifierKey</key>
<string>7E5078EE-AB8A-4831-8A67-153D0A15E277</string>
<key>IDESourceControlWCCName</key>
<string>Macalline</string>
</dict>
</array>
</dict>
</plist>
//
// AppDelegate.h
// Macalline
//
// Created by JianjiYuan on 14-12-1.
// Copyright (c) 2014年 JianjiYuan. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) UINavigationController *navRoot;
@end
This diff is collapsed.
//
// NSObject+Customized.h
// DingDCommunity
//
// Created by JianjiYuan on 14-4-26.
// Copyright (c) 2014年 JianjiYuan. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface NSObject (Customized)
//判断返回数据 是否为NULL
- (id)validDataOfClass:(Class)className;
- (NSArray *)getPropertyList;
- (NSArray *)getPropertyList: (Class)clazz;
- (NSString *)tableSql:(NSString *)tablename;
- (NSString *)tableSql;
- (NSDictionary *)convertDictionary;
- (id)initWithDictionary:(NSDictionary *)dict;
- (NSString *)className;
@end
//
// NSObject+Customized.m
// DingDCommunity
//
// Created by JianjiYuan on 14-4-26.
// Copyright (c) 2014年 JianjiYuan. All rights reserved.
//
#import "NSObject+Customized.h"
#import <objc/runtime.h>
@implementation NSObject (Customized)
//判断返回数据 是否为NULL
- (id)validDataOfClass:(Class)className
{
//为空 或者 类型不对
if (self == [NSNull null] || ![self isKindOfClass:[className class]]) {
DLog(@"%@ is NULL or NOT referred class", self.description);
if ([self isKindOfClass:[NSString class]]) {
return @"";
}else if ([self isKindOfClass:[NSNumber class]]) {
return @0;
}else if ([self isKindOfClass:[NSArray class]]) {
return @[];
}else if ([self isKindOfClass:[NSDictionary class]]) {
return @{};
}else {
return [[[className class] alloc] init];
}
}
if ([self isKindOfClass:[NSString class]]) {
if ([(NSString *)self length] > 4
&& [[[(NSString *)self substringWithRange:NSMakeRange(1, 4)] lowercaseString] isEqualToString:@"null"]) {
return @"";
}
}
return self;
}
- (NSArray *)getPropertyList
{
return [self getPropertyList:[self class]];
}
- (NSArray *)getPropertyList: (Class)clazz
{
u_int count;
objc_property_t *properties = class_copyPropertyList(clazz, &count);
NSMutableArray *propertyArray = [NSMutableArray arrayWithCapacity:count];
for (int i = 0; i < count ; i++)
{
const char* propertyName = property_getName(properties[i]);
[propertyArray addObject: [NSString stringWithUTF8String: propertyName]];
}
free(properties);
return propertyArray;
}
- (NSString *)tableSql:(NSString *)tablename
{
NSMutableString *sql = [[NSMutableString alloc] init];
NSArray *array = [self getPropertyList];
[sql appendFormat:@"create table %@ (",tablename] ;
NSInteger i = 0;
for (NSString *key in array) {
if (i>0) {
[sql appendString:@","];
}
[sql appendFormat:@"%@ text",key];
i++;
}
[sql appendString:@")"];
return sql;
}
- (NSString *)tableSql
{
return [self tableSql:[self className]];
}
- (NSDictionary *)convertDictionary
{
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
NSArray *propertyList = [self getPropertyList];
for (NSString *key in propertyList) {
SEL selector = NSSelectorFromString(key);
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
id value = [self performSelector:selector];
#pragma clang diagnostic pop
if (value == nil) {
value = [NSNull null];
}
[dict setObject:value forKey:key];
}
return dict;
}
- (id)initWithDictionary:(NSDictionary *)dict
{
self = [self init];
if(self)
[self dictionaryForObject:dict];
return self;
}
- (NSString *)className
{
return [NSString stringWithUTF8String:object_getClassName(self)];
}
- (BOOL)checkPropertyName:(NSString *)name
{
unsigned int propCount, i;
objc_property_t* properties = class_copyPropertyList([self class], &propCount);
for (i = 0; i < propCount; i++) {
objc_property_t prop = properties[i];
const char *propName = property_getName(prop);
if(propName) {
NSString *_name = [NSString stringWithCString:propName encoding:NSUTF8StringEncoding];
if ([name isEqualToString:_name]) {
return YES;
}
}
}
return NO;
}
- (void)dictionaryForObject:(NSDictionary*) dict
{
for (NSString *key in [dict allKeys]) {
id value = [dict objectForKey:key];
if (value==[NSNull null]) {
continue;
}
if ([value isKindOfClass:[NSDictionary class]]) {
id subObj = [self valueForKey:key];
if (subObj)
[subObj dictionaryForObject:value];
}
else{
[self setValue:value forKeyPath:key];
}
}
}
@end
//
// UIApplication+Customized.h
// DingDCommunity
//
// Created by JianjiYuan on 14-5-1.
// Copyright (c) 2014年 JianjiYuan. All rights reserved.
//
#import <UIKit/UIKit.h>
typedef enum : NSUInteger {
String,
Number,
Array,
Dictionary,
} ObjectType;
@interface UIApplication (Customized)
//userdefaut
+ (void)saveObject:(id)object type:(ObjectType)type key:(NSString *)key;
+ (id)getObjectType:(ObjectType)type key:(NSString *)key;
//show alert
+ (void)showAlertViewWithTitle:(NSString *)title message:(NSString *)message delegate:(id)delegate tag:(NSInteger)tag cancelButtonTitle:(NSString *)cancelButtonTitle otherButtonTitles:(NSString *)otherButtonTitles, ... NS_REQUIRES_NIL_TERMINATION;
//show loading
+ (void)showLoadingView:(NSString *)message;
+ (void)hideLoadingView;
//make toast
+ (void)showToastViewMessage:(NSString *)message;
//show noResult
+ (void)showNoResultView:(UIView *)superView desc:(NSString *)desc;
+ (void)hideNoResultView:(UIView *)superView;
//show noResult ImageView
+ (UIImageView *)showNoResultImageView:(UIView *)superView imageName:(NSString *)imageName;
+ (void)hideNoResultImageView:(UIView *)superView;
+ (void)downloadFileURL:(NSString *)aUrl fileName:(NSString *)aFileName;
+(BOOL)deleteFileByFileName:(NSString*)fileName;
@end
This diff is collapsed.
//
// UIImage+Customized.h
// DingDCommunity
//
// Created by JianjiYuan on 14-3-12.
// Copyright (c) 2014年 JianjiYuan. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface UIImage (Customized)
- (UIImage *)reSizeImagetoSize:(CGSize)reSize;
- (UIImage *)reSizeImagetoFillWidth:(CGSize)imageSize;
+ (UIImage *)imageWithColor:(UIColor *)color;
@end
//
// UIImage+Customized.m
// DingDCommunity
//
// Created by JianjiYuan on 14-3-12.
// Copyright (c) 2014年 JianjiYuan. All rights reserved.
//
#import "UIImage+Customized.h"
@implementation UIImage (Customized)
- (UIImage *)reSizeImagetoSize:(CGSize)reSize
{
UIGraphicsBeginImageContext(CGSizeMake(reSize.width, reSize.height));
[self drawInRect:CGRectMake(0, 0, reSize.width, reSize.height)];
UIImage *reSizeImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return reSizeImage;
}
- (UIImage *)reSizeImagetoFillWidth:(CGSize)imageSize
{
CGFloat width = imageSize.width;
CGFloat height = imageSize.height;
CGSize newSize = CGSizeMake(320*2, 320*2/width*height);
UIGraphicsBeginImageContext(newSize);
[self drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *reSizeImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return reSizeImage;
}
+ (UIImage *)imageWithColor:(UIColor *)color
{
CGRect rect = CGRectMake(0, 0, 1, 1);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
@end
//
// UINavigationController+Customized.h
// DingDCommunity
//
// Created by JianjiYuan on 14-3-3.
// Copyright (c) 2014年 JianjiYuan. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface UINavigationController (Customized)
- (void)navbarLeftItemCustomized:(NSArray *)arrImageNames onwer:(UINavigationItem *)onwer;
- (void)navbarRightItemCustomized:(NSArray *)arrImageNames onwer:(UINavigationItem *)onwer;
@end
//
// UINavigationController+Customized.m
// DingDCommunity
//
// Created by JianjiYuan on 14-3-3.
// Copyright (c) 2014年 JianjiYuan. All rights reserved.
//
#import "UINavigationController+Customized.h"
@implementation UINavigationController (Customized)
- (void)navbarLeftItemCustomized:(NSArray *)arrBtns onwer:(UINavigationItem *)onwer
{
NSMutableArray *arrTemp = [NSMutableArray arrayWithCapacity:4];
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
UIBarButtonItem *flexSpacer = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
target:self
action:nil];
flexSpacer.width = -7;
[arrTemp addObject:flexSpacer];
}
for (int i = 0; i< arrBtns.count; i++) {
UIBarButtonItem *barItem = [[UIBarButtonItem alloc] initWithCustomView:arrBtns[i]];
[arrTemp addObject:barItem];
}
[onwer setLeftBarButtonItems:arrTemp];
}
- (void)navbarRightItemCustomized:(NSArray *)arrBtns onwer:(UINavigationItem *)onwer
{
NSMutableArray *arrTemp = [NSMutableArray arrayWithCapacity:4];
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
UIBarButtonItem *flexSpacer = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
target:self
action:nil];
flexSpacer.width = -10;
[arrTemp addObject:flexSpacer];
}
for (int i = 0; i< arrBtns.count; i++) {
UIBarButtonItem *barItem = [[UIBarButtonItem alloc] initWithCustomView:arrBtns[i]];
[arrTemp addObject:barItem];
}
[onwer setRightBarButtonItems:arrTemp];
}
@end
//
// UIScrollView+Customized.h
// DingDCommunity
//
// Created by JianjiYuan on 14-5-3.
// Copyright (c) 2014年 JianjiYuan. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface UIScrollView (Customized)
- (void)autoFitHeightOfSubView;
@end
//
// UIScrollView+Customized.m
// DingDCommunity
//
// Created by JianjiYuan on 14-5-3.
// Copyright (c) 2014年 JianjiYuan. All rights reserved.
//
#import "UIScrollView+Customized.h"
@implementation UIScrollView (Customized)
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[[self nextResponder] touchesBegan:touches withEvent:event];
[super touchesBegan:touches withEvent:event];
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
[[self nextResponder] touchesMoved:touches withEvent:event];
[super touchesMoved:touches withEvent:event];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[[self nextResponder] touchesEnded:touches withEvent:event];
[super touchesEnded:touches withEvent:event];
}
- (void)autoFitHeightOfSubView
{
CGFloat maxYForScroll = 0.0f;
for (UIView *subView in self.subviews) {
CGFloat maxYOfSubView = CGRectGetMaxY(subView.frame);
if (maxYOfSubView > maxYForScroll) {
maxYForScroll = maxYOfSubView+10;
}
}
maxYForScroll = maxYForScroll>CGRectGetHeight(self.frame)?maxYForScroll:CGRectGetHeight(self.frame);
[self setContentSize:CGSizeMake(CGRectGetWidth(self.frame), maxYForScroll)];
}
@end
//
// UITextField+EdgeInset.h
// YanLanLou_iTouch
//
// Created by JianjiYuan on 14/6/12.
// Copyright (c) 2014年 JianjiYuan. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface UITextField (EdgeInset)
- (void)customLeftEdge:(float)leftEdge;
@end
//
// UITextField+EdgeInset.m
// YanLanLou_iTouch
//
// Created by JianjiYuan on 14/6/12.
// Copyright (c) 2014年 JianjiYuan. All rights reserved.
//
#import "UITextField+EdgeInset.h"
@implementation UITextField (EdgeInset)
- (void)customLeftEdge:(float)leftEdge;
{
if (leftEdge > 0) {
self.leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, leftEdge, CGRectGetHeight(self.bounds))];
self.leftViewMode = UITextFieldViewModeAlways;
}
}
@end
//
// BaseDao.h
// TaiZhouTobacco_7s
//
// Created by JianjiYuan on 14-5-22.
// Copyright (c) 2014年 JianjiYuan. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <FMDB.h>
#import "DBInstance.h"
typedef enum : NSUInteger {
DaoOperateTypeInsert,
DaoOperateTypeUpdate,
DaoOperateTypeSelect,
DaoOperateTypeDelete
} DaoOperateType;
@interface BaseDao : NSObject
+ (instancetype)getInstance;
//SELECT
- (NSArray *)excuteSelectBySQL:(NSString *)sql;
//OPERATE
- (BOOL)excuteSQL:(NSString *)sql operateType:(DaoOperateType)type;
- (BOOL)excuteSQLs:(NSArray *)sqls operateType:(DaoOperateType)type;
//INSERT
- (BOOL)insertData:(NSObject *)entity key:(NSString *)key toTable:(NSString *)table;
- (BOOL)insertDatas:(NSArray *)entities key:(NSString *)key toTable:(NSString *)table;
//UPDATE
- (BOOL)updateData:(NSObject *)entity key:(NSString *)key inTable:(NSString *)table;
- (BOOL)updateDatas:(NSArray *)entities key:(NSString *)key inTable:(NSString *)table;
//DELETE
- (BOOL)deleteData:(NSObject *)entity key:(NSString *)key inTable:(NSString *)table;
- (BOOL)deleteDatas:(NSArray *)entities key:(NSString *)key inTable:(NSString *)table;
@end
This diff is collapsed.
//
// CMPopTipView.h
//
// Created by Chris Miles on 18/07/10.
// Copyright (c) Chris Miles 2010-2014.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
/*
Version: 2.2
*/
/** \brief Display a speech bubble-like popup on screen, pointing at the
designated view or button.
A UIView subclass drawn using core graphics. Pops up (optionally animated)
a speech bubble-like view on screen, a rounded rectangle with a gradiant
fill containing a specified text message, drawn with a pointer dynamically
positioned to point at the center of the designated button or view.
Example 1 - point at a UIBarButtonItem in a nav bar:
- (void)showPopTipView {
NSString *message = @"Start by adding a waterway to your favourites.";
CMPopTipView *popTipView = [[CMPopTipView alloc] initWithMessage:message];
popTipView.delegate = self;
[popTipView presentPointingAtBarButtonItem:self.navigationItem.rightBarButtonItem animated:YES];
self.myPopTipView = popTipView;
[popTipView release];
}
- (void)dismissPopTipView {
[self.myPopTipView dismissAnimated:NO];
self.myPopTipView = nil;
}
#pragma mark CMPopTipViewDelegate methods
- (void)popTipViewWasDismissedByUser:(CMPopTipView *)popTipView {
// User can tap CMPopTipView to dismiss it
self.myPopTipView = nil;
}
Example 2 - pointing at a UIButton:
- (IBAction)buttonAction:(id)sender {
// Toggle popTipView when a standard UIButton is pressed
if (nil == self.roundRectButtonPopTipView) {
self.roundRectButtonPopTipView = [[[CMPopTipView alloc] initWithMessage:@"My message"] autorelease];
self.roundRectButtonPopTipView.delegate = self;
UIButton *button = (UIButton *)sender;
[self.roundRectButtonPopTipView presentPointingAtView:button inView:self.view animated:YES];
}
else {
// Dismiss
[self.roundRectButtonPopTipView dismissAnimated:YES];
self.roundRectButtonPopTipView = nil;
}
}
#pragma mark CMPopTipViewDelegate methods
- (void)popTipViewWasDismissedByUser:(CMPopTipView *)popTipView {
// User can tap CMPopTipView to dismiss it
self.roundRectButtonPopTipView = nil;
}
*/
#import <UIKit/UIKit.h>
typedef enum {
PointDirectionAny = 0,
PointDirectionUp,
PointDirectionDown,
} PointDirection;
typedef enum {
CMPopTipAnimationSlide = 0,
CMPopTipAnimationPop
} CMPopTipAnimation;
@protocol CMPopTipViewDelegate;
@interface CMPopTipView : UIView
@property (nonatomic, strong) UIColor *backgroundColor;
@property (nonatomic, weak) id<CMPopTipViewDelegate> delegate;
@property (nonatomic, assign) BOOL disableTapToDismiss;
@property (nonatomic, assign) BOOL dismissTapAnywhere;
@property (nonatomic, strong) NSString *title;
@property (nonatomic, strong) NSString *message;
@property (nonatomic, strong) UIView *customView;
@property (nonatomic, strong, readonly) id targetObject;
@property (nonatomic, strong) UIColor *titleColor;
@property (nonatomic, strong) UIFont *titleFont;
@property (nonatomic, strong) UIColor *textColor;
@property (nonatomic, strong) UIFont *textFont;
@property (nonatomic, assign) NSTextAlignment titleAlignment;
@property (nonatomic, assign) NSTextAlignment textAlignment;
@property (nonatomic, assign) BOOL has3DStyle;
@property (nonatomic, strong) UIColor *borderColor;
@property (nonatomic, assign) CGFloat cornerRadius;
@property (nonatomic, assign) CGFloat borderWidth;
@property (nonatomic, assign) BOOL hasShadow;
@property (nonatomic, assign) CMPopTipAnimation animation;
@property (nonatomic, assign) CGFloat maxWidth;
@property (nonatomic, assign) PointDirection preferredPointDirection;
@property (nonatomic, assign) BOOL hasGradientBackground;
@property (nonatomic, assign) CGFloat sidePadding;
@property (nonatomic, assign) CGFloat topMargin;
@property (nonatomic, assign) CGFloat pointerSize;
/* Contents can be either a message or a UIView */
- (id)initWithTitle:(NSString *)titleToShow message:(NSString *)messageToShow;
- (id)initWithMessage:(NSString *)messageToShow;
- (id)initWithCustomView:(UIView *)aView;
- (void)presentPointingAtView:(UIView *)targetView inView:(UIView *)containerView animated:(BOOL)animated;
- (void)presentPointingAtBarButtonItem:(UIBarButtonItem *)barButtonItem animated:(BOOL)animated;
- (void)dismissAnimated:(BOOL)animated;
- (void)autoDismissAnimated:(BOOL)animated atTimeInterval:(NSTimeInterval)timeInvertal;
- (PointDirection) getPointDirection;
@end
@protocol CMPopTipViewDelegate <NSObject>
- (void)popTipViewWasDismissedByUser:(CMPopTipView *)popTipView;
@end
This diff is collapsed.
//
// EDStarRating.
//
// Created by Ernesto Garcia on 26/02/12.
// 2013 cocoawithchurros.com
// Distributed under MIT license
//
// Version 1.1
#import <Availability.h>
#ifdef __MAC_OS_X_VERSION_MAX_ALLOWED
#define EDSTAR_MACOSX 1
#define EDSTAR_IOS 0
#else
#define EDSTAR_MACOSX 0
#define EDSTAR_IOS 1
#endif
#if EDSTAR_MACOSX
#import <Cocoa/Cocoa.h>
#else
#import <UIKit/UIKit.h>
#endif
enum {
EDStarRatingDisplayFull=0,
EDStarRatingDisplayHalf,
EDStarRatingDisplayAccurate
};
typedef NSUInteger EDStarRatingDisplayMode;
typedef void(^EDStarRatingReturnBlock)(float rating);
@protocol EDStarRatingProtocol;
#if EDSTAR_MACOSX
#define EDControl NSControl
typedef NSColor EDColor;
typedef NSImage EDImage;
#else
#define EDControl UIControl
typedef UIColor EDColor;
typedef UIImage EDImage;
#endif
@interface EDStarRating : EDControl
#if EDSTAR_MACOSX
@property (nonatomic,strong) EDColor *backgroundColor;
#endif
@property (nonatomic,strong) EDImage *backgroundImage;
@property (nonatomic,strong) EDImage *starHighlightedImage;
@property (nonatomic,strong) EDImage *starImage;
@property (nonatomic) NSInteger maxRating;
@property (nonatomic) float rating;
@property (nonatomic) CGFloat horizontalMargin;
@property (nonatomic) BOOL editable;
@property (nonatomic) EDStarRatingDisplayMode displayMode;
@property (nonatomic) float halfStarThreshold;
@property (nonatomic,weak) id<EDStarRatingProtocol> delegate;
@property (nonatomic,copy) EDStarRatingReturnBlock returnBlock;
@end
@protocol EDStarRatingProtocol <NSObject>
@optional
-(void)starsSelectionChanged:(EDStarRating*)control rating:(float)rating;
@end
This diff is collapsed.
//
// BRNetworkMgr.h
// TestHttpRequest
//
// Created by JianjiYuan on 14-11-21.
// Copyright (c) 2014年 JianjiYuan. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <AFNetworking.h>
typedef enum : NSUInteger {
BRNetMgrDataTypeJSON,
BRNetMgrDataTypeXML,
BRNetMgrDataTypeSoap
} BRNetMgrDataType;//请求返回数据类型
typedef enum : NSUInteger {
BRNetMgrMethodPost,
BRNetMgrMethodGet,
} BRNetMgrMethod;//请求方式
typedef enum : NSUInteger {
BRNetMgrFileTypePng,
BRNetMgrFileTypeJpeg,
} BRNetMgrFileType;//请求方式
#define kFileKeyName @"FileKeyName"
#define kFilePath @"FilePath"
#define kDealExtraWhenErrorOcur @"DealExtraWhenErrorOcur"
@class BRNetworkMgr;
@protocol BRNetworkMgrDelegate <NSObject>
@optional
//非队列异步请求
- (void)httpOperationSuccess:(AFHTTPRequestOperation *)operation
result:(NSDictionary *)result;
- (void)httpOperationFailed:(AFHTTPRequestOperation *)operation
error:(NSError *)error;
//队列异步请求
- (void)networkQueueComplete:(NSOperationQueue *)queue;
@end
@interface BRNetworkMgr : NSObject
@property (nonatomic, weak) id<BRNetworkMgrDelegate> delegate;
@property (nonatomic, strong) NSOperationQueue *operationQueue;
+ (BRNetworkMgr *)getInstance;//return an instance not singleton
- (void)startOperation:(NSOperation *)operation;
- (void)addObserverForQueueProgress;
- (void)removeObserverForQueueProgress;
//HTTP请求
- (AFHTTPRequestOperation *)operationWithURL:(NSString *)strURL
interface:(NSString *)interface
params:(NSDictionary *)params
dataType:(BRNetMgrDataType)type
method:(BRNetMgrMethod)method;
//上传文件
- (AFHTTPRequestOperation *)operationUploadWithURL:(NSString *)strURL
interface:(NSString *)interface
params:(NSDictionary *)params
dataType:(BRNetMgrDataType)type
fileType:(BRNetMgrFileType)fileType
files:files;
@end
This diff is collapsed.
//
// DBDaoMgr.h
// TaiZhouTobacco_7s
//
// Created by JianjiYuan on 14-8-27.
// Copyright (c) 2014年 JianjiYuan. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "BaseDao.h"
@interface DBDaoMgr : NSObject
// ================= 通用方法 =================
+ (NSString *)convertArrayToString:(NSArray *)array;
+ (NSString *)getMaxTimeFromTable:(NSString *)table;
+ (NSString *)getMaxTimeFromTable:(NSString *)table conditions:(NSDictionary *)conditions;
+ (NSString *)getMaxTimeBySql:(NSString *)sql;
// ================= 通知 =================
+ (BOOL)insertNotice:(NSDictionary *)dic;
+ (NSArray *)fetchNoticeByUserId:(NSString *)userID;
+ (NSArray *)fetchUnReadNoticeByUserId:(NSString *)userID;
+ (NSArray *)fetchBackGroundMusic:(NSString *)userID;
+ (BOOL)updateNoticeById:(NSString *)nid;
+ (BOOL)deleteNoticeByUserID:(NSString*)userID andNoticeID:(NSString*)noticeID;
// ================= 指导书信息 =================
+ (BOOL)insertInstructionBookInfo:(NSString *)totalBytesRead andTotalBytesExpectedToRead:(NSString*)totalBytesExpectedToRead andName:(NSString*)name andTaskStartTime:(NSString*)taskStartTime andTaskEndTime:(NSString*)taskEndTime;
+ (NSArray *)fetchAllInstructionBookInfo;
+ (NSArray *)fetchInstructionBookInfoByName:(NSString *)name;
+ (BOOL)updateInstructionBookInfoSize:(NSString*)size ByName:(NSString *)name;
+ (BOOL)updateInstructionBookInfoStatus:(NSString*)status ByName:(NSString *)name;
+ (BOOL)deleteInstructionBookInfoByName:(NSString *)name;
// ================= 图片 =================
+ (BOOL)insertImages:(NSArray *)images;
+ (NSArray *)fetchImagesByIds:(NSArray *)imageIds;
+ (NSArray *)fetchImagesByType:(NSString *)type checkPointId:(NSString *)checkPointId;
+ (NSArray *)fetchUnUploadedImageIdsByType:(NSString *)type;
+ (BOOL)updateImageTagUploaded:(NSString *)imageId;
+ (BOOL)updateImagesTagUploaded:(NSArray *)images;
// ================= 检查点 =================
+ (BOOL)insertCheckPointInfos:(NSArray *)checkInfos;
+ (NSArray *)fetchCheckPointInfosByIds:(NSArray *)checkInfoIds;
+ (NSArray *)fetchCheckPointInfoByType:(NSString *)type checkPointId:(NSString *)checkPointId;
+ (NSArray *)fetchUnUploadedCheckPointIdsByType:(NSString *)type;
+ (BOOL)updateCheckPointTagUploaded:(NSString *)checkPointId;
+ (BOOL)updateCheckPointInfosTagUploaded:(NSArray *)checkPointIds;
#if 0
// ================= 检查标准 =================
+ (BOOL)insertTaskCheckStandards:(NSArray *)standards;
+ (NSArray *)fetchAllTaskCheckStandards;
+ (NSArray *)fetchTaskCheckStandardsByIds:(NSArray *)standardIds;
+ (BOOL)insertLogisticsStandards:(NSArray *)standards;
+ (NSArray *)fectchLogisticsStandardsByType:(NSString *)equipType;
+ (NSArray *)fectchLogisticsStandardsByIds:(NSArray *)ids;
// ================= 主页菜单 =================
+ (NSArray *)fectchAllModules;
+ (NSArray *)fectchModulesByMenu:(NSString *)menu;
// ================= 任务检查 =================
+ (BOOL)insertTaskChecks:(NSArray *)taskChecks;
+ (NSArray *)fectchAllTaskChecks;
+ (BOOL)updateTaskCheckById:(NSString *)taskId withStandardIds:(NSArray *)standardIds;
+ (BOOL)updateTaskCheckById:(NSString *)taskId withImageIds:(NSArray *)imageIds;
// ================= 临时检查 =================
+ (BOOL)insertTempCheck:(NSObject *)entity;
// ================= 历史检查 =================
+ (BOOL)insertHistoryChecks:(NSArray *)historyChecks;
+ (NSArray *)fectchHistoryChecksByPlaceCode:(NSString *)placeCode;
// ================= 数据上传 =================
+ (NSArray *)fetchUnUploaded7sDatas;
//更新未上传7S数据为已上传
+ (BOOL)updateUnUploadedDatasTagUploaded:(NSArray *)taskChecks;
// ================= 物流设备 =================
//物流巡检设备类型
+ (BOOL)insertLogisticsEquipType:(NSArray *)equipTypes;
+ (NSArray *)fectchAllLogisticsEquipTypes;
//物流巡检设备
+ (BOOL)insertLogisticsEquipments:(NSArray *)equipments;
+ (NSArray *)fectchLogisticsEquipmentsByTypeId:(NSString *)typeId;
/*
// ================= 物流巡检 =================
//Common 热膜,分拣设备,分拣线
+ (BOOL)insertLogisticsCommonChecks:(NSArray *)commonChecks;
+ (NSArray *)fectchAllLogisticsCommonChecksByTypeId:(NSString *)typeId;
+ (BOOL)updateLogisticsCommonCheckByEquipId:(NSString *)equipId withStandardIds:(NSArray *)standardIds;
+ (BOOL)updateLogisticsCommonCheckByEquipId:(NSString *)equipId withImageIds:(NSArray *)imageIds;
// Lift -- 升降机
+ (BOOL)insertLogisticsLiftChecks:(NSArray *)commonChecks;
+ (NSArray *)fectchAllLogisticsLiftChecksByTypeId:(NSString *)typeId;
+ (BOOL)updateLogisticsLiftCheckByEquipId:(NSString *)equipId withStandardIds:(NSArray *)standardIds;
+ (BOOL)updateLogisticsLiftCheckByEquipId:(NSString *)equipId withImageIds:(NSArray *)imageIds;
// Compressor -- 空压机
+ (BOOL)insertLogisticsCompressorChecks:(NSArray *)commonChecks;
+ (NSArray *)fectchAllLogisticsCompressorChecksByTypeId:(NSString *)typeId;
+ (BOOL)updateLogisticsCompressorCheckByEquipId:(NSString *)equipId withStandardIds:(NSArray *)standardIds;
+ (BOOL)updateLogisticsCompressorCheckByEquipId:(NSString *)equipId withImageIds:(NSArray *)imageIds;
*/
// ================= 机房巡检 =================
+ (BOOL)insertRoomStandards:(NSArray *)roomStandards;
+ (NSArray *)fectchAllRoomStandards;
+ (NSArray *)fectchRoomStandardsByIds:(NSArray *)arrStandardIds;
#endif
@end
This diff is collapsed.
//
// DatabaseMgr.h
// Macalline
//
// Created by JianjiYuan on 14-12-4.
// Copyright (c) 2014年 JianjiYuan. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <FMDBHelpers.h>
#import <FMDB.h>
#define kTable_Image @"t_image"
#define kTable_CheckPoint @"t_checkpoint"
@interface DBInstance : NSObject
{
FMDatabase* _db;
FMDatabaseQueue* _dbQueue;
}
+ (instancetype)getInstance;
- (FMDatabaseQueue *)queue;
- (FMDatabase *)db;
// 删除数据库
- (void)deleteDatabse;
// 判断是否存在表
- (BOOL)isTableOK:(NSString *)tableName;
// 获得表的数据条数
- (BOOL)getTableItemCount:(NSString *)tableName;
// 创建表
- (BOOL)createTable:(NSString *)tableName withArguments:(NSString *)arguments;
// 删除表-彻底删除表
- (BOOL)deleteTable:(NSString *)tableName;
// 清除表-清数据
- (BOOL)eraseTable:(NSString *)tableName;
@end
This diff is collapsed.
//
// DataMgr.h
// Macalline
//
// Created by JianjiYuan on 14-12-4.
// Copyright (c) 2014年 JianjiYuan. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface DataMgr : NSObject
+ (instancetype)getInstance;
@property (nonatomic, strong) NSString* remoteNotificationID;
@property (nonatomic, strong) NSString*userID;
@property (nonatomic, strong) NSString*hasNewVersion;
@property (nonatomic, strong) NSString*taskIsEnd;
@property (nonatomic, strong) NSString*serverTime;
@property (nonatomic, strong) NSString *bigAreaId;
@property (nonatomic, strong) NSString *bigAreaName;
@property (nonatomic, strong) NSString *smallAreaId;
@property (nonatomic, strong) NSString *smallAreaName;
@property (nonatomic, strong) NSString *shopName;
@property (nonatomic, strong) NSString *lastIndexOfItemNum;
@property (nonatomic, strong) NSString *roleId;
@property (nonatomic, strong) NSString *location;
@property (nonatomic, strong) NSString *locationName;
@property (nonatomic) BOOL isUploadActionExpired;
@property (nonatomic, strong) NSString *dayCount;
@property (nonatomic, strong) NSString *unfinishedTaskCountToDacuxiao;
@property (nonatomic, strong) NSString *unfinishedTaskCountToXiaocuxiao;
@property (nonatomic, strong) NSString *unfinishedTaskCountToDaoshi;
@property (nonatomic, strong) NSString *unfinishedTaskCountToMeicheng;
@property (nonatomic, strong) NSString *unfinishedTaskCountToXiuxiqu;
@property (nonatomic, strong) NSString *unfinishedTaskCountToGuanggaowei;
@property (nonatomic, strong) NSString *unfinishedTaskCountToBeijingyinyue;
@property (nonatomic, strong) NSString *unfinishedTaskCountToYingyunwuliao;
+ (BOOL)isScreenIphone4Size;
+ (NSString *)stringFromDate:(NSDate *)date format:(NSString *)format;
+ (NSDate *)dateFromString:(NSString *)strDate format:(NSString *)format;
//对图片尺寸进行压缩--
+ (UIImage*)imageWithImagePath:(NSString *)imagePath scaledToSize:(CGSize)newSize;
+ (NSString *)pathInCacheDirectory:(NSString *)fileName;
//创建缓存文件夹
+ (BOOL)createDirInCache:(NSString *)dirName;
// 删除图片缓存
+ (BOOL)deleteDirInCache:(NSString *)dirName;
// 图片本地缓存
+ (BOOL)saveImageToCacheDir:(NSString *)directoryPath image:(UIImage *)image
imageName:(NSString *)imageName imageType:(NSString *)imageType;
// 获取缓存图片
+ (NSData*)loadImageData:(NSString *)directoryPath imageName:(NSString *)imageName;
@end
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment