퇴근5분전

화면 정의서 : UI디자인 후 저장된 이미지 위에 낙서.. 메모
UI 디자이너. 기본 컨트롤 몇개 ...

 

 디자이너를 이용해서 화면 기획을 할 수 있게 바꿨다.

나름 잘 나왔네...

 남은 일

     - 컨트롤 생성 : 트리, 챠트, 이미지, 툴바

     - 컨트롤 템플릿. ( 주로사용하는 컨트롤 모음을.... 저장?  )

     - 디자인 도우미 화면 ( 사용할 화면 컨트롤 생성 도구 )

     - ppt로 변환 작업

     ... 음... 그리고.. 하다보면 뭐 또 생각이 나겠지.

 

 몇일전부터 이런 저런 방법으로 기획하고 있던 프로그램을 이번에 이틀 쉬면서 만들었다.

원래는 전혀 다른 UI화면이었는데... 그간 만들었던 UI 디자이너의 주요컨트롤 기능이 어느정도 형태를 갖추어

그 내용을 담을 그릇을 결정해서 만들었다.

 

 "화면정의 프로그램"이라고 이름을 정했고. 형식은 ppt에 작성하는 화면정의서 처럼! 만들었다.

왼쪽엔 슬라이드처럼 주요 목록.  오른쪽엔 ppt화면처럼 화면정보.

화면정보에는 [메모(번호)], [설명], [낙서할수 있는 그림판( +페이지 기능 : 같은 페이지에 여러장 낙서가능 )].

   추가될 기능은 낙서판에 배경이미지 삽입기능 : 배경이미지를 배경으로 놓고 위에 그림을 그릴수 있다.

                      화면UI 디자이너 편집기능 : 화면 UI를 손쉽게 그릴수 있게 만들예정.

                                                       + 그려진 UI 요소 정보로 소스변환 기능도 추가할수 있게 만들예정.

 

화면정의 아이템 목록 관리
화면정의 아이템(전표발행) 관련 화면정의
화면정의서 화면에 낙서 기능, 메모기능, 설명

 

+++ 추가로 화면UI 디자이너에 들어갈 컨트롤모형

    각 컨트롤요소 모형임 ( X 는 visible = false일때 ),

   요소설정값들 저장 후 다시 로드하여 아래 그대로 재현성공.

위판넬 > 변환 >> 아래판넬에 다시 재현한 모습.

 토요일 어제와 오늘 todo list에 간단히 이력보기 기능을 추가했다.

할일 옆에 [이력보기]버튼
이력을 정리해서 보여준다.

. 일자별 우선순위별로 정리해서 보여준다.  

. 완료된 목록도 같이 읽어서 표시해준다 ( lightyellow 바탕색 )

. Note버튼으로 내용을 1개의 text 문자열로 클립보드에 복사해준다.

 

* 달력컨트롤이 그동안 버그가 있는지도 몰랐네... 3주 표시되는데

기간 표시는 4주가 표시되었었음.

 

-- 이제는 우선 todo 기능은 여기까지...

 다음 토이프로젝트로는 스토리보드관련된 프로그램을 기획중이다.

 NPT에 있는 화면디자인기능을 조금 각색하고 변경하고, 낙서판에 있는 기능을 붙여서 새로운걸 만들어볼 예정인데..

걸림돌은... 윈도우 터치펜이 된다는 가정하에 사용할때를 고려하고 있는데 ... 

 모르는것들이 많아서... 삽질이 꾀 예상된다.

 

 

++ 추가 수정

한주의 시작은 일요일(windows10 달력)

윗쪽 스샷 보면 시작은 일요일부터 3주 표시가 되는데 오늘은 22일. 그러나 커서는 [차주]로 되어 있어서

금주로 표시되게 수정해놓았다.

 

한주의 시작요일을 검색해보니 '월요일' 인것 같다. 종교적인 이유로 일요일도 있긴하지만...

우리나라는 대부분 '일요일' 부터 시작하는 달력이 많고, windows10 시간정보의 달력을 보면 일요일부터 시작한다.

 

 

++ 추가 수정...

21일 금주
22일 금주

 

23일. 금주

오늘 출근해서 프로그램 업데이트 하고 딱 띄웠는데. [전주]영역에 월요일로 잡혀있었다.

회사에서 사용하고 있는 프로그램에 쌓인 데이타로 보니까 이력보기 칸이 좀 좁아보여서 넓히고,

Daily아이템 같은 경우 위로 올라가서 씹힌것 같이 보여서 이것도 조정했다.

 

+ 글 써놓고 찬찬히 보니.. 차주( 해가 바뀌는 부분에 2019.12로 표시되서 깜짝 놀랬네... )

일 관리 프로그램

업데이트 했다.

 

지금 플젝에서 사용중인데... PL분이 화면 하나 개발할때 나와 스무고개를 ... 또...

율촌화학때처럼 스무고개를 좋아하는 PL을 또 만났네.

화면 하나 만드는데 2주째 했다. 만들어서 보내주면 바꾸고, 바꾸고...

 

 그래서 Daily 버튼을 만들었다. 화면 처음 만들때 요청 내용과 함께 받은 화면정의서, 설계문서등을 1건에 등록하는데

같은 화면에 변경사항을 별도 첨부파일로 기록하자니 눈에 바로 안보이고 해서... 추가한 기능이다.

어차피 [  완료  ]  버튼 누르면 모두 완료처리되어 사라지니까...

 

그 다음 우측 관리하는 파일들에 [내보내기] 기능도 추가했다. 파일을 보내달라고 하길래 파일에서 다름이름 저장하기로 만들어서 보내주려나 귀찮아...

 

 

 

 

++ 수정.

버튼 추가변경내역

컬럼위치변경을 위해 기존[컬럼이동]을 [위치교환]으로 바꾸고 [위치이동]을 추가했다.

 

기존 컬럼이동은 처음 선택된 컬럼을 드래그드랍된 위치의 컬럼과 맞교환 하는 형태로 구현을 했었으나...

 

A > B장소로 위치를 옮기려고 하니... 딱히 방법이 없네?? ( 컬럼맞교환 하려면 갈 위치까지 바로 옆컬럼과 교체하면서 이동시켜줘야 하니... )

 

[위치이동] 버튼을 만들고 해당 컬럼을 드래그 드랍한 위치의 컬럼의 [앞], [뒤] 중 선택하여 이동 하는 기능을 추가했다.

 

이동 후 위치를 [앞], [뒤] 중 선택팝업 ( 앞으로 선택 )
[ㅁ]컬럼이 [f] 컬럼 앞으로 이동된 결과

 

--------------------------------------------------------

기능 추가된 화면<우측상단 버튼>

 기능을 추가했다.

 

써보니.. 그리드 컬럼위치도 바꿔야 하고, 중간에 끼워 넣기도 해야 하고.. 삭제도 하고...

 

오른쪽 위에 [추가 +], [제거 -], [컬럼이동] 세개의 버튼을 추가했다.

 

지난 NPT툴에서 보다 훨씬 잘 뽑혔다. 코드도 깔끔하공...

 

지금 프로젝트에 사용하는 중인데.. 너무 좋앙!! ( 엄청 편함... )

 

 좀더 써보고 SSMS에 Add-IN으로 아예 추가해야겠다.

 

 ...사용 시나리오를 써보면...

 

1. 조회 쿼리를 ssms에서 실행하고 해당 결과가 그리드로 아래 표시되면!

 

2. 해당 결과 그리에서 마우스 우측버튼 클릭하여 > 그리드 디자인 설정 오픈

 

3.  그리드 디자인 열정보로 디자인 해서 바로 소스에 반영하기...

 

** 해당 프로젝트 프레임웍에 맞춰 사용할 GridDesignerExtension  프로젝트로 dll만 별도로 만들어 붙이면...

 

 

 

 

전에 NPT 프로그램에 있던 디자이너에서 그리드 부분만 쏙 뽑아내고 객체 구성을 조금 바꾸었다.

 

예전 NPT 프로그램에서 그리드 설정 편집화면

 이 NPT프로그램에서 그리드를 수정하고 변경하고 원하는 소스를 변환할때!

이 변환 소스를 만들려면 NPT프로젝트를 열어서 작업을 해서 다시 빌드까지 거쳐야 해서...

너무 번거러웠다. 실제로 율촌화학의 프로젝트에서 일정관리 및 변환 프로그램으로 사용하지 못했다.

  - 일정관리 : 메모장

  - 그리드는 별도로 만든 작은 프로그램.

 

 그리고 이번 프로젝트에서도 사용하려니 왠지 모르게 하기 싫음... 게다가 VB.NET을 사용한다. 7개월짜린데...

변환 하는 부분에 대한 코드를 너무 손이 많이 간다. 그래서... 그리드만 뽑아내고, 해당 그리드 설정 데이타 관련 객체를 만들어 외부로 변환처리를 위임하면 좋겠다 싶어서...

 

 별도의 프로젝트로 디자이너는 유지한채로 별도 확장기능으로 만들어서 디자이너에서 읽어들여서 실행 할때 그리드 설정 정보만 넘겨 수행을 위임하면... 되겠지? 그러면 변환기능은 si다니며 회사마다 그리드 코딩방식대로 변환 플젝만 수정-빌드-배포만 하면 된다.

 

그리드 내용 편집중인 화면
그리드 내용 편집후 설정을 적용한 화면

그림 아래 아래 확장 플러그인은 특정 경로에 dll을 배치하고 해당 dll의 지정된 메서드를 이용하여 설정된 정보를 전달하게 되어 있다.

 

  테스트 확장기능을 클릭하면 아래와 같이 설정정보를 재조합하여 사용할 수 있다.

설정된 정보를 읽어서 문자열로 생성후 메세지 박스에 띄웠다.

  SI를 이제 즐겁게(?) 하면 되나??

 

프로젝트 할일 관리를 위해 다시 프로그램을 만들었다.

 

농심.  율촌화학 프로젝트를 진행하면서 전에 만들어 사용하던 JSFW.NPT 일정관리 프로그램이 거의 무쓸모(?)였다.

 

그래서 그거 못쓰고 메모장에 기록하여 사용하다가. Todo 프로그램을 만들어야겠다 생각해서 다시 구상해서 만들었다.

 

아주 간단하게 기능을 만들었다.

  - 완성된 내용.

   1. 요청자, 요청일자, 작업내용, 작업파일[]   등록

   2. 작업완료 처리

   3. 작업 이슈 등록

  - 추후 작업내용.

   4. 완료목록 내역 검색

   5. 작업파일에 낙서파일 추가 ( 이미지 스샷 찍고 이미지 위에 그림 그리고 낙서, 간단한 메모기능. )

   6. 리포트와 대시보드?? ( 이건 정말 나중에 할거 없을때나... )

 

처음 띄우면 이렇게 뜬다.

   

요청자별 목록, 작업내역, 첨부파일, 캡쳐버튼

 

* 캡쳐버튼을 클릭하면 화면일부를 캡쳐할수 있다.

* Alt + Print Screen 을 키입력하면 선택된 윈도우 창을 캡쳐한다. (웹브라우저 캡처 가능)

 

완료버튼 클릭시 > 내역에서 사라지며, 내역은 각각의 파일로 별도로 관리된다.

 

 음.. .이름은 PZip이라고 써놨지만...

이건 파일 암호화 프로그램이다.  내 프로그램들을 zip으로 묶어서 블로그 또는 메일함에서 다운로드 해서 사용할수 있게 하기위한 프로그램을 만들었다.

 

사용법 :

 올릴땐 설치파일을 zip으로 묶어서 내가 사용할 암호로 파일을 변환해서 올려놓고

 사용할때 다운해서 zip을 복호화 한 후 zip파일을 풀고 설치.

AI.txt 파일 선택 - 암호화
암호화 하면 AI.txt.enc 파일로 생성

 

AI.txt.enc를 복호화 대상 파일로 선택하고 복호화 하면 AI.txt.dec로 생성됨.

 

암호화된 파일과 복호화된 파일을 보여줌.

 이번 프로젝트에서 테스트 이력관리 프로그램을 요긴하게 썼다.

 

테스트가 아니고... 화면 캡쳐용으로 ㅡ.,ㅡ;;

 

서버에 IIS 설정하고 WCF로 만든 웹서비스 올리는 내용을 캡쳐하여 문서화 해야 해서

캡쳐용으로 사용했다.

 

 원래 처음 만들때 양식이 맘데로 만든거라서 편집이 좀 필요해서

집에와서 엑셀 내보내기 기능을 수정하였다.

 

화면과 설명이 담긴 엑셀.

 

 엑셀에서 이미지 클릭시 하이퍼링크가 걸려있어

      >> 뷰어(익스플로어 또는 사진보기)를 통해 확대되어 볼 수 있음.

 

 

 음... 아침에 문득 떠오른 생각에 캡쳐한 화면을 배경으로 바로 써먹을수 있음 괜찮겠다 싶어서....

 

스샷 했더니... 외곽선설정한게 찍혀서 배경이미지 넣을때마다 점점 두꺼워져서... 이거 처리했더니..

 

골때린 버그...

 

 전에도 봤었는데...  그리고 나서 스크롤 했더니 그림이 사라져?? 어랏! 음...이거 고쳤던 버그인데 다시

나타났네...  어제 터치스크린 기능이랑 뭐 하면서 건드렸나...

 

계속 삽질 끝에... 겨우 수정 마쳤네...

 

코드도 이제 슬슬 질리는데...  음....... 뭐하지..........