| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219 |
- //
- // ActionDeviceCommandPopupView.m
- // OneCable
- //
- // Created by ncomz on 2017. 6. 9..
- // Copyright © 2017년 ntels. All rights reserved.
- //
- #import "ActionDeviceCommandPopupView.h"
- @interface ActionDeviceCommandPopupView()
- @property (weak, nonatomic) IBOutlet UIView *viewValve;
- @property (weak, nonatomic) IBOutlet UIView *viewPlug;
- @property (weak, nonatomic) IBOutlet UIButton *btnValveControl;
- @property (weak, nonatomic) IBOutlet CustomButton *btnValveClose;
- @property (weak, nonatomic) IBOutlet UIButton *btnPlugControl;
- @property (weak, nonatomic) IBOutlet CustomButton *btnPlugOn;
- @property (weak, nonatomic) IBOutlet CustomButton *btnPlugOff;
- @property BOOL isShowValve; //
- @end
- @implementation ActionDeviceCommandPopupView
- - (id)initFromNib {
-
-
- NSLog(@"common : %@", [CommonUtil nibViews:@"ActionDeviceCommandPopupView"]);
-
- for (UIView *view in [CommonUtil nibViews:@"ActionDeviceCommandPopupView"]) {
-
- NSLog(@"view : %@", view);
-
- if ([view isKindOfClass:[ActionDeviceCommandPopupView class]]) {
-
- self = (ActionDeviceCommandPopupView *)view;
-
- //XIB의 경우, 현재 화면 사이즈로 맞춰줘야 함.
- self.frame = [UIScreen mainScreen].bounds;
-
-
- [self.imgTitleBar setImage:[UIImage imageNamed:@"img_popup_bg_head"]inset:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)];
-
-
- [self.btnValveClose setBackgroundImage:[UIImage imageNamed:@"img_input_round_bg_default"] forState:UIControlStateNormal capInsets:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)];
- [self.btnValveClose setBackgroundImage:[UIImage imageNamed:@"img_input_round_bg_default"] forState:UIControlStateHighlighted capInsets:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)];
- [self.btnValveClose setBackgroundImage:[UIImage imageNamed:@"img_btn_common2_active"] forState:UIControlStateSelected capInsets:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)];
-
- [self.btnPlugOn setBackgroundImage:[UIImage imageNamed:@"common_toggle_right"] forState:UIControlStateNormal capInsets:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)];
- [self.btnPlugOn setBackgroundImage:[UIImage imageNamed:@"common_toggle_right"] forState:UIControlStateHighlighted capInsets:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)];
- [self.btnPlugOn setBackgroundImage:[UIImage imageNamed:@"common_toggle_right_select"] forState:UIControlStateSelected capInsets:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)];
-
- [self.btnPlugOff setBackgroundImage:[UIImage imageNamed:@"common_toggle_left"] forState:UIControlStateNormal capInsets:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)];
- [self.btnPlugOff setBackgroundImage:[UIImage imageNamed:@"common_toggle_left"] forState:UIControlStateHighlighted capInsets:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)];
- [self.btnPlugOff setBackgroundImage:[UIImage imageNamed:@"common_toggle_left_select"] forState:UIControlStateSelected capInsets:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)];
-
- [self.btnConfirm setBackgroundImage:[UIImage imageNamed:@"img_popup_btn_right"] forState:UIControlStateNormal capInsets:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)];
- [self.btnConfirm setBackgroundImage:[UIImage imageNamed:@"img_popup_btn_right_press"] forState:UIControlStateHighlighted capInsets:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)];
-
-
- [self.btnCancel setBackgroundImage:[UIImage imageNamed:@"img_popup_btn_left"] forState:UIControlStateNormal capInsets:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)];
- [self.btnCancel setBackgroundImage:[UIImage imageNamed:@"img_popup_btn_left_press"] forState:UIControlStateHighlighted capInsets:UIEdgeInsetsMake(kfTopInset,kfRightInset,kfBottomInset,kfLeftInset)];
-
- //Localization
- [self.btnConfirm setTitle:NSLocalizedString(@"확인", @"확인") forState:UIControlStateNormal];
- [self.btnCancel setTitle:NSLocalizedString(@"취소", @"취소") forState:UIControlStateNormal];
-
- }
- }
-
- return self;
- }
- - (void)didMoveToSuperview {
-
- }
- - (void)setCmdclsCode:(NSString *)cmdclsCode {
-
- _cmdclsCode = cmdclsCode;
-
- //NSLog(@"cmdclsCode : %@", cmdclsCode);
-
- _isShowValve = _cmdclsCode != nil && EQUALS(_cmdclsCode, ksCmdClassTypeValve);
- _viewPlug.hidden = _isShowValve;
- _viewValve.hidden = !_isShowValve;
- }
- - (void)setRefDevice:(ItemModel *)refDevice {
-
- _refDevice = [ItemModel new];
- _refDevice = refDevice;
-
- //NSLog(@"refDevice : %@", refDevice);
-
- self.lblTitle.text = _refDevice.sourceName;
-
- ItemSubModel *subModel = [_refDevice.subItems objectAtIndex:0];
-
- if (_isShowValve && subModel.cmdclsValueList.count > 0) {
-
- CmdClsValueModel *cmdModel = [subModel.cmdclsValueList objectAtIndex:0];
- _btnValveClose.value = cmdModel;
- _btnValveClose.selected = _btnValveControl.selected = cmdModel.isSelected;
-
- }
- else if (subModel.cmdclsValueList.count > 1){
-
- CmdClsValueModel *cmdOffModel = [subModel.cmdclsValueList objectAtIndex:0];
- CmdClsValueModel *cmdOnModel = [subModel.cmdclsValueList objectAtIndex:1];
-
- _btnPlugOff.value = cmdOffModel;
- _btnPlugOn.value = cmdOnModel;
-
- _btnPlugOff.selected = cmdOffModel.isSelected;
- _btnPlugOn.selected = cmdOnModel.isSelected;
- _btnPlugControl.selected = _btnPlugOn.selected || _btnPlugOff.selected;
- }
- }
- - (ItemSubModel *)selectedNode {
- return [_refDevice.subItems objectAtIndex:0];
- }
- #pragma mark - User Action
- //제어
- - (IBAction)control:(id)sender {
-
- UIButton *btn = sender;
- btn.selected = YES;
-
- }
- //끄기켜기 - 플러그
- - (IBAction)onOffPlug:(id)sender {
-
- if (_btnPlugControl.selected) {
-
-
- BOOL isOff = [_btnPlugOff isEqual:sender];
-
- _btnPlugOn.selected = !isOff;
- _btnPlugOff.selected = isOff;
-
- if (_btnPlugOn.value != nil && _btnPlugOff.value != nil) {
-
- ((CmdClsValueModel*)(_btnPlugOn.value)).isSelected = !isOff;
- ((CmdClsValueModel*)(_btnPlugOff.value)).isSelected = isOff;
- }
-
- }
- }
- //잠그기 - 벨브
- - (IBAction)closeValve:(id)sender {
- if (_btnValveControl.selected) {
-
- _btnValveClose.selected = YES;
-
- if (_btnValveClose.value != nil) {
-
- ((CmdClsValueModel*)(_btnValveClose.value)).isSelected = YES;
- }
- }
- }
- - (IBAction)confirm:(id)sender {
-
- NSMutableArray<ItemModel> *checkedItems = (NSMutableArray<ItemModel> *)[_refDevice.subItems matchedArrayByObjectName:ksCustomCheckBoxStatus condition:YES];
-
- NSLog(@"checkedItems : %@", checkedItems);
-
- ItemSubModel *subModel = [_refDevice.subItems objectAtIndex:0];
-
- NSLog(@"subModel : %@", subModel);
-
- // if (!_checkedItems || !_checkedItems.count) {
- // [[JDFacade facade] alert:NSLocalizedString(@"선택된 항목이 없습니다", @"선택된 항목이 없습니다")];
- // return;
- // }
-
- BOOL confirmValve = _isShowValve && _btnValveControl.selected && _btnValveClose.selected;
- BOOL confirmPlug = !_isShowValve && _btnPlugControl.selected && (_btnPlugOn.selected || _btnPlugOff.selected);
-
- if (confirmValve || confirmPlug) {
- for (CmdClsValueModel *cmdclsValue in subModel.cmdclsValueList) {
-
- if (cmdclsValue.isSelected) {
-
- subModel.cmdclsValue = cmdclsValue.cmdclsValue;
- subModel.cmdclsValueMsg = cmdclsValue.cmdclsValueMsg;
- }
- }
- }
-
-
- [super btnConfirmTouched:sender];
- }
- @end
|