퇴근5분전

 

  새로 만든 프로그램 모듈 관리 프로그램!!

 

win8 처럼 메트로UI 를 흉내 내봤는데 윈8을 조금밖에 못봐서 나름 상상력을 발휘해서... 프레임만 만들었고,

 

원 계획은 5월 쉬면서 만들 계획이었으나 워낙 좋은 자리가 생겨 계획을 변경됨.

 

 

-- 프로그램 플러그인 모듈이용.

-- 그리드 모듈 이용.

 

기능 : 등록된 프로그램을 그리드에 배치 후 프로세스 처리 실행!

 

 

 

눌림 버튼 이건 모바일 보니 꾹 누르고 있음 - 버튼 붙던데.. 그래서 만들었고 블로깅 해두었음.

 

쉬는 날 마다 추가해서 만들면... 음... 올해 안에 나오겠징...

'# 9) My Program(.NET) > JsFW40' 카테고리의 다른 글

금전관리 프로그램.  (0) 2015.09.26
그리드 폼 만들기 (2)  (0) 2014.03.18
그리드 폼 만들기 (1)  (0) 2014.03.15
PRJMNG] JS 디자이너~  (0) 2012.12.27
[JsFW40] 코딩을 시작하다!!  (0) 2010.11.10


 Grid 를 만들고 나서... 이거 저거 하다보니... 망했다.

그래서 이번 플젝은 그냥 예전 사용하던 툴을 꺼내 일부 필요한 부분만 추가해 넣은 후 사용하기로 함..

굿센용 4개의 레이어에 대한 컨트롤을 직접 만들고 이에 대한 반영을 하려고 했는데... 꼬였다...


아래 사진 둘은 그리드를 만든것임.
현재 WPF 의 레이아웃 컨트롤인 그리드의 모방하여 만든것임.

높이값이나 가로 값이 지정되지 않으면 자동으로 분할되도록 만들었으며

중간에 Row 0과 Row2는 값이 할당되어 있어 자동분할에서 제외되는 것을 아래 그림으로 보여준다.

이건 CodeGen을 만들때 이 레이아웃 컨트롤의 Cell에 따라 컨트롤들이 자리잡게 되며

각각 배치된 컨트롤엔 WPF 그리드 컨트롤처럼 하위 컨트롤은 Index, Span의 프로퍼티를 가지게 되어
자신의 위치값등을 조정할 수 있다.

 그리드를 만들때 Row와 Col과 그리고 Cell의 기술에 있다.

초기 만든 그리드는 구조를 잘못잡아서 컨트롤과의 상호작용을 표현하기 어려웠는데 ... 바로 잡았다.


 


WPF용으로 만들고 있는 코드제너레이터의 디자이너 UI임. 역시나 UI그리는 내 솜씨(?)는 ... 

 
도구상자, 속성창은 디자이너에 도킹 설정/해제가 가능하고
아래는 WPF 레이아웃 컨트롤 GRID를 내 입맛대로 그려둔 것 임.
 
 컨텐츠를 보강하고 프로젝트에 맞도록 컨트롤을 도구상자에 등록하며

이후 디자인이 완료되면 Xaml로 즉시 뽑고, 또 개발 프레임웍에 맞춘 코드컨버터를 이용하게되면

현업 프로젝트를 수행시 코드 노가다를 안해도 된다.

물론 CnP( Copy & Paste )라는 막강 기술이 있지만... 역시나 손이 많이 가는 작업이다..

설게 구상대로 라면 SP 작업이 완료되면 바로 프로젝트를 찍어낼 수 있게 되며, 최소한의 수작업!만 있게 된다.

고로... 업무구현에 좀더 열을 올릴수 있게되며,

새 프로젝트 현장에 가서도 해당 개발 프레임웍 구성을 분석 후 필요한 컨텐츠 보강후 바로 사용가능할 듯 하다.

프로젝트 기간에 10% 정도만 분석에 사용하여도 나머지 90%를 거저 먹는 꼴이 될...

오늘도 자뻑!!!




새 프로젝트로 생성 시
 작업효율을 높이려면 코드스나이프를 이용해 반복작업을 줄여야 하고...
 sp별로 파라미터 생성을 도구없이 한다면... 순수 타이핑 또는 카피하여 수정 ... 
 : 매 프로젝트마다 새로 만들면 CnP가 ... 반복적이어야 함. 

템플릿으로 생성 시
 기존 새프로젝트를 생성 후 템플릿 형태로 모두 구현하여 테스트 한 이후 템플릿으로 내보내고나면
 새프로젝트 생성시 프로젝트 언어 선택시 VisualStudio 를 선택하면 등록된 템플릿이 나타남.
 이걸 추가한 후에도 참조링크를 별도로 설정하고 컨트롤명을 바꾸고, SP등은 동일한 방법을 이용해야 함.
 : 초기작업( 새프로젝트를 만들어서 원하는 템플릿 형태로 소스를 수정) 이후 sp고치는 작업등... 은 수동...

코드젠으로 생성하면... 
 프로젝트에 사용되는 컨트롤들을 모두 코딩해서 변환하고, 
 원하는 모양으로 우선 디자인 하고, 이것을 cs단에서 핸들링 할 소스에 대한 
 코드변환기를 직접 만들어 코드젠에 적
템플릿화 하고.. 이를 이용해서 소스변환을 시도할 수 있음.
 : 초기 준비작업( 컨트롤 만들고, 변환기 만들고 ... )이 후 작업은 일사천리...


 설계를 대략 마치고 드디어 코드를 시작했다.

Vs2010 을 이용해 좀더 유연한 코드로 생산성을 높여보고 있다.
( 앗! 실컷 네임 스페이스 정의해놓은걸 버렸나보네 .. ㅠㅠ )

# 우선순위 높은순서

- PROJECT_DESIGNER_Namespace  ** 제일 핵심 모듈임.
- PLUGIN_Namespace
- XML_Namespace
- WINDOWCONTROL_Namespace
- UTIL_Namespace
# 이하 JsFW20에서 천천히 뽑아내도 되는것

- Exception_Namespace
- DEBUG_Namespace
- ADONET_Namespace
- BASECOMMON_Namespace
- NETWORK_Namespace


기억나는데로 우선 써놓았다.  만들어갈 순서대로 정리해보았다.

# LINQ + 람다 + 확장메서드로 좀더 유연한 표현을 해보자!!
 소감 -> 표현하는데 간결하고 코드라인이 확 줄어서 너무 좋다!

위에꺼 모두 작성할건 아니고...

이전 JsFW20 에서 가져올건 가져오되 코드 수준을 4.0에 포커스를 맞추기 위해 모두 변환 할 것임.
필요없어 보이는건 과감히 버린다.
















'# 9) My Program(.NET) > JsFW40' 카테고리의 다른 글

금전관리 프로그램.  (0) 2015.09.26
그리드 폼 만들기 (2)  (0) 2014.03.18
그리드 폼 만들기 (1)  (0) 2014.03.15
PRJMNG] JS 디자이너~  (0) 2012.12.27
jsfw ] New Version!  (0) 2012.05.13


아 개떡같은... 싸이즈 변경.

VS에서 디자이너에서만 지원되는 크기변경핸들러?

WPF로 된건 보이는데 그전건 안보이넹...

어제 몇가지 해보다가 크기 변경하는데 너무 빠르게 변경되서...

나의 잘못된 생각이 일을 꼬이게 만들어버렸네...

전에 했던 위치값 계산방법은 레이어 이동을 관리하던거였는데... 이번껀...
그게 아닌데 말이얌...

다행이 찾았다..

절대값으로 해당 계산값 뽑아서 +1 , -1 시키는 ... 집에가서 해봐야지 !


---------- 집에서 작성해보니... 살포시 작동은 잘되는데...

문제점이 발견되었넹...  사이즈 조절시 마우스가 좀 빨라서 영역을 벗어났을때가 문제가 되네...   멈춰버린다는거...

그래서 몇가지 더 고민해보고

기존에 작업했던내용 + 위내용 을 해서 수정을 한다.

나름 효과가 있는데... 예상 문제에 대해 살짝 구현해서 테스트 해봐야겠넹...

Msnd에 보면 Andor?인가 하는놈이 그거 같은뎅... VS디자이너에서만 적용이 되다뉭...
----------- 완료!!   

 문제가 될만한 사항도 모두 해결해서 만들었다...아싸!

컨테이너로 만들어서 간편하게 만들어두었다..   올레~

'# 9) My Program(.NET) > JsFW20_프로그램!' 카테고리의 다른 글

마인드맵 Two? 꺽었다...  (0) 2010.06.30
마인드맵? 객체 링크 표현.  (0) 2010.06.29
JsFW20.XML 수정..  (0) 2010.06.04



주 객체와 하위 객체간 노드 그리는걸 완성했다..

어디는 두번 꺽이고 어디는 한번만 꺽이고... 산수 참... 쩝..

위 그림은 1개의 주 메인에 하위 8개를 각각 배치시켜서 노드를 그린 것인다... 

어깨가 뻐근해온답... 50견인가? 쿨럭!


UI구상중 마인드맵 처럼... 각 표시단과 링크를 구현해보는게어떨까 고민을 잠깐 해봤는데

구현해보니 의외로 간단하더라..


기초 클래스정도만 만들어서 + 버튼 추가해서 각 단위별 링크 표시를 해봤다.

마인드맵 그리듯이 프로그램을 구현해가면 좀더 이해도 편하고 나중에 솔루션 관계를 봤을때...

프로젝트 이해도가 훨 뛰어날듯 하여... 구상을 저리 해봤다.

이제 살을 붙여가기만 하면 될것 같네.

선도 좀 이쁘게 그려지게 만들어야쥐! ( 노트에 몇가지 공식화 해둔게 있는데 ... 적용하면 마인드맵처럼 이쁘게 나오려나?

 개선....

<노드 연결한 화면 >



<중간 노드 삭제시 ... 기존 노드 삭제하지 않고 앞 노드로 연결.. >


프로그램만들땐 -기능은 하위 노드 모두 삭제 할지 말지는.... 추후 결정.

 class  Master
{
      class subclass
      {
             ...
      }

      IList  subClassList ;
}

요런구조를 처리하기위해

위 클래스를 인스턴스시켜서 xmlHelper에 던져주면

<Master>
     <Subclass />
     <Subclass />
     <Subclass />
      ... 리스트 갯수만큼 
</Master>

추가, 수정, 삭제처리... 를 테스트 하였다. 

각 Element 구분을 위해 넣은 값인 xid의 값을 유니크하게 넣기 위해 만들다보니 Add하면서 

Master객체의 새로운 id 값을 얻어내서, 이 값을 하위 Element에 id값을 각각 증가 시켜서 처리해줌.

중첩구조가 깊어질수록 id값은 자리수가 길어진다. asp.net의 랜더링 된 서버컨트롤처럼...

    
만들고자 한 JsFW20 패키지?   JsFW2005? 음 이름을 못정했지만...  가장 중요한 모듈이 만들어졌으니 주말에 힘좀 써야겠다. biz코드 제너레이터 움하하.