MQL로 작성된 UI 갤러리 - 페이지 70

 
오늘은 파라미터 값의 색상 표시, 즉 요소의 깜박임에 대한 주제를 계속 이어서 게시하겠습니다. 작업이 생각보다 조금 더 복잡한 것으로 판명되어 지연되었습니다. 결국 솔루션은 소요 시간을 정당화했습니다. 제 생각에는 어쨌든요.
 
이해하실 수 있습니다.
 
Jin Rong Xia #:
이해하실 수 있습니다.
네, 알아들을 수 있어요. 번역기가 잘 작동하고 있어요.
 

주제 14.3: 요소(프레임, 베이스, 텍스트, 슬라이더 및 슬라이더 보드)의 일부를 깜박임으로써 위험 값 표시하기.

요소의 깜박임은 매개변수가 위험 값 영역으로 전환되었음을 알리는 색상 표시에 훌륭한 추가 기능입니다. 새로운 솔루션의 구현은 이전 솔루션과 유사하지만, 값이 위험 값에 가까울수록 색상이 밝아지는 원칙에 따라 색상 표시가 작동하는 경우 깜박임은 깜박임으로 설정된 색상으로 초기 색상의 변경 빈도만 증가시킵니다. 사용자는 깜박임 지연을 프로그래밍 방식으로 조정하여 점차적으로 25밀리초로 줄이거나 2.5초로 늘릴 수 있습니다. 이 경우 두 가지 메커니즘을 동시에 작동할 수 있습니다. 색상이 연한 녹색에서 밝은 빨간색과 부르고뉴로 바뀌고 깜박이는 속도도 빨라집니다. 한 메커니즘이 다른 메커니즘을 방해하지 않습니다. 이제 실제 사례를 살펴보겠습니다.

*중요: 깜박임은 색상 표시 기능과 독립적으로 활성화됩니다. 두 메커니즘은 기술적으로 서로 무관하며 병렬로 또는 개별적으로 작동할 수 있습니다.

깜박임을 구현하기 위해 인터랙티브 요소에 새로운 프로퍼티가 추가되었습니다:

  • pn_BLINK_frame -. 프레임 깜박임 프레임이 있는 모든 컨트롤에 추가되었습니다. 다음 요소는 제외됩니다: H_SLIDER, V_SLIDER, VALUE , R_BUTTON, 체크박스.
  • pn_ BLINK_text - 깜박이는 텍스트 텍스트가 있는 모든 요소에 추가됩니다. 제외되는 요소는 다음과 같습니다: p_bar, d_bar, h_slider, v_slider.
  • pn_BLINK_base - 깜박임 기준 베이스가 있는 모든 요소에 추가됩니다. 다음 요소는 제외됩니다: 체크박스, R_BUTTON, D_LIST, C_LIST, VALUE.
  • pn_BLINK_bar - 깜박이는. 바가 있는 항목에 추가됩니다: P_BAR , D_BAR,H_SLIDER, V_SLIDER.
  • pn_BLINK_handle - 슬라이더의 깜박임. H_SLIDER, V_SLIDER 슬라이더에 추가되었습니다 .


깜박임의 속도와 정지를 제어하는 새로운 프로퍼티가 추가되었습니다:

  • pn_BLINK_DELAY - 깜박임 지연. 모든 주요 요소에 예외 없이 추가되었습니다. * 중요 - 지연은 요소의 모든 깜박이는 부분에 대해 설정되며 각 부분마다 다를 수 없습니다. 소프트웨어로 깜박임을 활성화한 요소의 모든 부분(여러 개일 수 있음)은 동기적으로 깜박입니다. 그러나 요소 간의 깜박임 속도는 다를 수 있으며 이는 전적으로 사용자의 재량에 따라 결정됩니다.
  • pn_BLINK_STOP 요소의 모든 구성 요소의 깜박임을 완전히 중지하는명령입니다 .
  • 현재 단계에서는 설정 창 프레임의 깜박임을 활성화할 수 있습니다. 이렇게 하려면 창 함수를 호출하고 pn_BLINK_frame 속성의 식별자를 전달해야 합니다 . 그리고 색상도요. 모든 것은 요소와 정확히 동일합니다.

위의 내용을 요약해 보겠습니다:

  • 깜박임 지연 pn_BLINK_DELAY는 프로그래밍 방식으로 설정되며 요소의 모든 깜박이는 부분에 한 번에 적용됩니다. 동시에 깜박입니다.
  • pn_BLINK_DELAY 속성에는 기본값이 있습니다. 사용자가 명시적으로 지정하지 않는 한 깜박임 지연은 1초(20*25ms)가 조금 넘는 20이 됩니다.
  • 요소는 한 번에 여러 부분이 깜박이거나 한 번에 한 부분씩 깜박일 수 있습니다. 결정은 사용자가 내립니다.
  • 깜박이는 과정에서 프로그래밍 방식으로 색상을 변경하고 속도를 조정할 수 있습니다. 깜박임 기능은 아래에서 설명합니다.
  • 요소의 다른 부분을 깜박이게 하려면 함수를 호출하고 해당 요소 부분의 식별자와 색상을 전달해야 합니다. 그러나 예를 들어 프레임이 깜박이고 있는데 사용자가 원하는 값으로 텍스트가 깜박이기를 원하고 프레임이 깜박임을 멈추려면 pn_BLINK_STOP 명령을 사용하여 깜박임을 완전히 끈 다음 프로그램 호출을 통해 텍스트 깜박임을 켜야 합니다.
  • 사용자의 요청에 따라 요소의 구성 요소를 다른 색상으로 깜박일 수 있습니다. 예를 들어 텍스트는 녹색으로, 프레임은 파란색으로, 베이스는 빨간색으로 깜박이도록 설정할 수 있습니다. 다양한 변형을 사용할 수 있습니다. 하지만 요소 내의 모든 부분의 깜박임 속도는 동일하다는점을기억하세요 .
  • 창이 최소화되어 있고 해당 탭이 작업 표시줄에 있고 창에 깜박이는 요소가 있는 경우, 탭은 닫힌 창에서 가장 빠르게 깜박이는 요소를 자동으로 선택하고(창이 닫힐 때 실제로 다시 그려지지 않음) 그 빈도와 색상에 맞게 조정합니다. 즉, 작업 표시줄의 탭은 해당 창에서 가장 빠르게 깜박이는 요소의 색상과 속도로 깜박입니다. 그러나 값을 수신하는 동안 요소의 깜박임 속도가 변경되면 탭은 다른 요소를 찾아 깜박임 속도와 색상을 변경하여 자동으로 다시 작성됩니다.
  • 창에서 요소의 깜박임을 완전히 비활성화하면 탭이 자동으로 깜박임을 멈춥니다.

내일은 실제 예제로 넘어가겠습니다.

오늘은 우리가 말하는 내용을 이해하기 위한 작은 데모입니다.



불행히도 녹음 할 때 지연이 있습니다. 프로세서가로드되었습니다. 그러나 데모는 요소가 비동기적으로 다른 속도로 플래시되는 것을 보여줍니다. 요소의 다른 부분도 깜박입니다. 이 모든 것은 프로그래밍 방식으로 설정됩니다. 그리고 작업 표시줄의 탭이 자동으로 가장 빠르게 깜박이는 요소를 찾아 파란색으로 바뀌었습니다. 그런 다음 요소가 덜 자주 깜박이기 시작하면 다른 가장 빠르게 깜박이는 요소를 찾아 빨간색으로 바뀝니다.

이에 대해서는 내일 더 자세히 살펴보겠습니다.

추신 이 매우 유용한 기능을 사용하는 옵션에 대해서도 논의할 예정입니다.

 


어제 주제에 이어서...

오늘은 요소 깜박임에 대한 주제를 개념적으로 정리하고 마무리하겠습니다.

어제는 위험한 값을 알리는 맥락에서만 플래싱을 살펴봤지만, 그보다 훨씬 더 광범위하게 적용될 수 있습니다. 예를 들어 보겠습니다:

여러 통화로 구성된 전문가 어드바이저가 여러 마켓플레이스의 상황을 분석한다고 가정해 봅시다. 복잡한 기준에 따라 최적의 진입/청산 지점을 선택한다고 가정해 보겠습니다. 전문가 자문은 반자동 모드로 작동하며 트레이더는 트레이딩 전략의 전체 로직을 프로그래밍할 수 없거나 원하지 않습니다. 로봇은 시장을 모니터링하고 데이터를 수집하며 중요한 포인트에 대해 알려줍니다. 전문가의 작업은 결과를 분석하고 표와 도표로 표시하는 것으로 제한됩니다. 거래에 대한 최종 결정은 사람이 내립니다.

이 방식에서 거래 활동은 실시간 데이터 스트림을 관찰하고 일련의 실행 값을 사용자 지정 매개변수로 패킹하는 것으로 구성됩니다. 후자는 상황 인식을 확장하는 데 도움이 됩니다.

그러나 실시간 참여에는 적시에 결정을 내려야 합니다. 분석 결과가 여러 그래픽 보기를 통해 여러 창에 표시될 때 문제가 발생합니다. 주의가 필요한 정보의 양이 증가하고 주의의 초점이 분산됩니다. 결과적으로 트레이더의 머릿속에서 시장 관점이 흐려지고 업무 효율이 떨어집니다. 피로가 찾아옵니다.

이 경우 깜박이는 요소가 도움이 됩니다:

  • 의사 결정이나 조치가 시급하다는 신호입니다.
  • 들어오는 변화의 속도를 알려줍니다.
  • 관찰된 이벤트의 관련성을 알려줍니다.
  • 수치, 차이, 범위, 합계, 한계 등 얻은 결과의 중요성에 대해 알려줍니다.

요약합니다:
  • 깜박임은 알림, 경고, 정보, 신호 또는 표시가 될 수 있습니다.
  • 깜박임은 주의를 집중시키고 트레이더의 집중력을 높여줍니다.
  • 빈도와 색상은 결정이나 행동의 긴급성을 나타냅니다.
  • 색상 변경과 함께 깜박임은 GUI의 상호작용성과 트레이더의 효율성을 높여줍니다.

새로운 기능에 대한 실질적인 분석을 해보겠습니다:

  • 1. 준비 작업의 순서를 정합니다.
  • 2. 누를 때 버튼 프레임의 깜박임을 활성화하고 눌렀을 때 깜박임을 비활성화해 보겠습니다.
  • 3. 버튼 텍스트의 깜박임을 켜 봅시다.
  • 4. 4. 버튼 베이스의 깜박임을 켜 봅시다.
  • 5. 버튼이있는 필드, 슬라이더, 확인란 등 여러 다른 요소를 버튼 깜박임에 연결해 보겠습니다.
  • 6. 창 프레임의 깜박임을 트리거 해 보겠습니다.
  • 7. 7. 요소의 깜박임 속도를 슬라이더 값과 버튼이있는 필드에 연결해 보겠습니다.

//----------------------------------------------------------------------------------------------------------

1. 준비 작업 순서:

  • 먼저, 호출 시 요소의 깜박임을 켜고 꺼야 하는 Blink_start()Blink_stop() 함수의 래퍼를 작성해 봅시다.
  • Blink_start() 함수는 켜짐을 담당합니다. 이 함수는 프레스 이벤트에서 호출됩니다. Blink_stop() 함수는 깜박임을 끄는 역할을 합니다. '시작' 버튼을 누르면 호출됩니다 .
  • API 파일에서 버튼을 찾아 버튼을 누를 때 Blink_start() 함수를 호출하고 버튼을 눌렀을 Blink_stop() 함수를 호출하는 코드를 작성해 보겠습니다 .
//-----------------------------------------------------
//This function will start the blinking of the elements.
//-----------------------------------------------------
void Blink_start()
{

}
//-----------------------------------------------------
//This function will stop the blinking of the elements.
//-----------------------------------------------------
void Blink_stop()
{

}


이제 API 파일에서 "시작" 버튼의 케이스를 찾아 버튼을 눌렀을 때와 눌렀을 때 Blink_start()Blink_stop( ) 함수의 호출을 작성해 보겠습니다:

case Settings_example_1___Start:
  
               //------------------------------------------------------------------------------------------------------
               //What to do when the button is pressed or released?
               //------------------------------------------------------------------------------------------------------
               switch((int)action)
               {
                case pressed:    Blink_start();  break;
  
                case released:   Blink_stop();   break;
               }
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break;


이제 함수에 내용을 채우는 단계로 넘어가겠습니다:

1. "시작" 버튼이 깜박일 프레임이 필요합니다. 아래 코드와 같이 프레임 깜박임에 대한 호출을 작성해 보겠습니다. 버튼 프레임의 깜박임 속성의 식별자는 p1_BLINK_frame입니다. 깜박이는 색상과 깜박이는 대상을 지정합니다.

void Blink_start()
{
 //Setting the color and the part of the element that is suppoused to blink.
 w6_i_p1_BUTTON_Start((int)clrLimeGreen,p1_BLINK_frame);
}


2. 이제 버튼에서 손을 뗄 때 깜박임을 비활성화하도록 구현해 보겠습니다. 식별자 p1_BLINK_STOP은 깜박임 끄기를 담당합니다 . 이 식별자를 제외하고는 괄호 안에 아무것도 넣을 필요가 없습니다.

void Blink_stop()
{
 //Stopping the blinking of all of the parts of the element all together:
 w6_i_p1_BUTTON_Start(p1_BLINK_STOP);
}


결과를 확인해 봅시다:



3. 프레임 대신 버튼 텍스트의 깜박임을 켜 보겠습니다. pn_BLINK_text 속성의 식별자는 텍스트의 깜박임을 담당합니다:

void Blink_start()
{
 //Setting the color and the part of the element that is suppoused to blink.
 w6_i_p1_BUTTON_Start((int)clrRed,p1_BLINK_text);
}

결과: 버튼 텍스트가 파란색으로 깜박이고 버튼을 누르면 깜박임이 멈춥니다.



4. 버튼 베이스의 깜박임을 켜 보겠습니다. pn_BLINK_base 속성의 식별자가 베이스를 담당합니다:

void Blink_start()
{
 //Setting the color and the part of the element that is suppoused to blink.
 w6_i_p1_BUTTON_Start((int)clrRed,p1_BLINK_base);
}

결과: 버튼 베이스가 빨간색으로 깜박이고 버튼을 누르면 깜박임을 멈춥니다.



이제 버튼의 프레임과 텍스트의 깜박임을 결합해 보겠습니다:

void Blink_start()
{
 //Setting the blinking of the frame and the text of the button
 w_6_Settings_example_1((int)clrRed,p8_BLINK_frame);
 w_6_Settings_example_1((int)clrRed,p8_BLINK_text);
}

결과:버튼 프레임과 버튼 텍스트가 의도한 대로 서로 다른 색상으로 동시에 깜박입니다.


5. 이 창의 다른 요소를 깜박임에 연결해 보겠습니다:

void Blink_start()
{
 //Setting the color and the part of the element that is suppoused to blink.
 //-------------------------------------------------------------
 w6_i_p1_BUTTON_Start((int)clrLimeGreen,p1_BLINK_frame);
 w6_i_p1_BUTTON_Start((int)clrRed,p1_BLINK_text);
 //-------------------------------------------------------------
 w6_d_p5_S_EDIT_Spin_the_value((int)C'255,50,0',p5_BLINK_frame);
 w6_d_p5_S_EDIT_Spin_the_value((int)C'255,50,0',p5_BLINK_text);
 //-------------------------------------------------------------
 w6_i_p3_H_SLIDER_Roll_the_value((int)C'255,50,0',p3_BLINK_handle);
 w6_i_p3_H_SLIDER_Roll_the_value((int)C'255,50,0',p3_BLINK_bar);
 //-------------------------------------------------------------
 w6_i_p7_CHECKBOX_Set_an_option((int)C'255,50,0',p7_BLINK_text);
 //-------------------------------------------------------------
 w6_s_p6_D_LIST_D_LIST_1((int)C'255,50,0',p6_BLINK_frame);
 //-------------------------------------------------------------
}

Blink_stop( ) 함수 안에 깜박임 비활성화도 작성해 봅시다 :

void Blink_stop()
{
 //Stopping the blinking
 //-------------------------------------------------------------
 w6_i_p1_BUTTON_Start(p1_BLINK_STOP);
 //-------------------------------------------------------------
 w6_d_p5_S_EDIT_Spin_the_value(p5_BLINK_STOP);
 //-------------------------------------------------------------
 w6_i_p3_H_SLIDER_Roll_the_value(p3_BLINK_STOP);
 //-------------------------------------------------------------
 w6_i_p7_CHECKBOX_Set_an_option(p7_BLINK_STOP);
 //-------------------------------------------------------------
 w6_s_p6_D_LIST_D_LIST_1(p6_BLINK_STOP);
 //-------------------------------------------------------------
}

결과: 새 요소가 Blink_start() 및 Blink_stop()에 포함되고 의도한 대로 깜박입니다.


6. 버튼을 클릭할 때 창 프레임이 깜박이도록 해봅시다. (지연 요소의 깜박임을 일시적으로 비활성화해 봅시다.)

void Blink_start()
{
//Setting the blinking of the frame of the window:
 w_6_Settings_example_1((int)clrRed,p8_BLINK_frame);
}
void Blink_stop()
{
//Stopping the blinking of the frame of the window:
 w_6_Settings_example_1(p8_BLINK_STOP);
}


결과: 창 프레임이 정상적으로 깜박입니다.


*중요: 모든 고려 요소와 창 프레임이 기본 속도로 깜박입니다.

또한 슬라이더 핸들과 버튼으로 필드를 사용하여 요소의 깜박이는 속도를 조절할 수 있습니다.


7. 깜박이는 속도를 버튼과 슬라이더로 필드의 값에 바인딩해 봅시다. 모든 요소와 창 프레임이 동시에 깜박이며 깜박임 속도는 이러한 요소에 의해 수동으로 설정됩니다.

깜박임 속도는 pn_BLINK_DELAY 지연에 따라 달라진다는 점을 기억하세요 .

  • 가능한 최소 지연은 1, 최대 지연은 99입니다.
  • 깜박임 지연 시간을 계산하려면 해당 값에 25(ms)를 곱해야 합니다.
  • 기본적으로 지연은 20으로 500밀리초(20*25ms)입니다.

문제를 해결하려면 다음을 수행해 보겠습니다:

  • 1. 버튼을 누르고 놓을 때 모든 요소의 깜박임을 다시 가져오고 여기에 통화/중지 창 깜박임을 추가해 보겠습니다.
  • 2. 깜박임의 일시 정지를 설정하는 호출을 수행하는 새 함수 Blink_delay()를 작성합니다. 이 함수는 지연 값을 받습니다.
  • 3. API 파일의 슬라이더 요소와 입력 필드에서 현재 값을 전달하여 Blink_delay() 함수에 대한 호출을 작성해 봅시다 .

Blink_start() 함수 안에 창 프레임 깜박임 기능을 추가했습니다 .

void Blink_start()
{
 //Setting the color and the part of the element that is suppoused to blink.
 //-------------------------------------------------------------
 w_6_Settings_example_1((int)clrRed,p8_BLINK_frame);
 //-------------------------------------------------------------
 w6_i_p1_BUTTON_Start((int)clrLimeGreen,p1_BLINK_frame);
 w6_i_p1_BUTTON_Start((int)clrRed,p1_BLINK_text);
 //-------------------------------------------------------------
 w6_d_p5_S_EDIT_Spin_the_value((int)C'255,50,0',p5_BLINK_frame);
 w6_d_p5_S_EDIT_Spin_the_value((int)C'255,50,0',p5_BLINK_text);
 //-------------------------------------------------------------
 w6_i_p3_H_SLIDER_Roll_the_value((int)C'255,50,0',p3_BLINK_handle);
 w6_i_p3_H_SLIDER_Roll_the_value((int)C'255,50,0',p3_BLINK_bar);
 //-------------------------------------------------------------
 w6_i_p7_CHECKBOX_Set_an_option((int)C'255,50,0',p7_BLINK_text);
 //-------------------------------------------------------------
 w6_s_p6_D_LIST_D_LIST_1((int)C'255,50,0',p6_BLINK_frame);
 //-------------------------------------------------------------
}

Blink_stop() 함수 내에 창 프레임 깜박임 비활성화 기능을 추가했습니다:

void Blink_stop()
{
 //Stopping the blinking
 //-------------------------------------------------------------
 w_6_Settings_example_1(p8_BLINK_STOP);
 //-------------------------------------------------------------
 w6_i_p1_BUTTON_Start(p1_BLINK_STOP);
 //-------------------------------------------------------------
 w6_d_p5_S_EDIT_Spin_the_value(p5_BLINK_STOP);
 //-------------------------------------------------------------
 w6_i_p3_H_SLIDER_Roll_the_value(p3_BLINK_STOP);
 //-------------------------------------------------------------
 w6_i_p7_CHECKBOX_Set_an_option(p7_BLINK_STOP);
 //-------------------------------------------------------------
 w6_s_p6_D_LIST_D_LIST_1(p6_BLINK_STOP);
 //-------------------------------------------------------------
}

Blink_delay() 함수 작성하기:

슬라이더와 입력 필드 요소 이벤트에서 Blink_delay() 함수를 호출하고 요소의 현재 값을 전달합니다:

void Blink_delay(uint delay)
{
 if(delay > 0 && delay < 100)
   {
    //-------------------------------------------------------------
    w_6_Settings_example_1(delay,p8_BLINK_DELAY);
    //-------------------------------------------------------------
    w6_i_p1_BUTTON_Start(delay,p1_BLINK_DELAY);
    //-------------------------------------------------------------
    w6_d_p5_S_EDIT_Spin_the_value(delay,p5_BLINK_DELAY);
    //-------------------------------------------------------------
    w6_i_p3_H_SLIDER_Roll_the_value(delay,p3_BLINK_DELAY);
    //-------------------------------------------------------------
   }
else Print("Wrong value!");
}

*중요 참고: 체크박스 및 드롭다운 목록 요소의 깜박임 속도를 변경하는 것은 불가능하다는 것이 밝혀졌습니다. 이 속도는 항상 20(0.5초)입니다. 이것은 의도적으로 수행되었지만 앞으로 변경할 것입니다. 다른 요소는 깜박이는 속도를 변경할 수 있습니다.

"Spin_the_value" 요소(버튼이 있는 필드)의 이벤트에서 Blink_delay() 함수에 대한 호출을 작성해 보겠습니다 . 필드가 슬라이더에 연결되어 있으므로 호출을 슬라이더 케이스에 넣을 필요가 없습니다. 연결이 작동하고 직접 호출이 없는 슬라이더는 버튼이 있는 필드를 통해 깜박임 속도를 변경합니다:

case Settings_example_1___Spin_the_value:
  
               //------------------------------------------------------------------------------------------------------
               //What to do when the value is set?
               //------------------------------------------------------------------------------------------------------
               //Min value:  NOT SET  |   Max value:  NOT SET  |   V_step:  1.7  |   Default value:  468.99  |  Digits: 3
               //------------------------------------------------------------------------------------------------------
               w6_i_p3_H_SLIDER_Roll_the_value((int)value);
              
               //Сalling the blinking delay function
               Blink_delay((int)value);
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break;


결과: 버튼이 있는 필드와 슬라이더가 창에 있는 요소의 깜박임 속도를 변경합니다.



결과:

  • 요소 깜박임을 구현함으로써 인터페이스가 이전보다 훨씬 더 대화형이며 유익한 정보를 제공합니다.
  • 요소 깜박임을 활성화, 제어 및 비활성화하는 방법은 매우 간단하며 이 페이지의 두 게시물에 자세히 설명되어 있습니다.
  • 이 방법은 코드 예제와 동영상과 함께 나열되고 시연됩니다.
  • 향후 일부 뉘앙스를 개선하거나 추가할 수 있지만 대체로 기본 깜박임 기능은 이미 추가되어 있으므로 큰 변경이 필요하지 않습니다.
  • 요소 매개변수의 값을 변경하면서 깜박임의 색상을 변경할 수 있습니다.

이 주제는 지쳤다고 생각합니다.


다음 목록 - "취소" 버튼을 눌러 입력한 값을 취소합니다.

 
다음 버전은 다음 주 월요일 또는 화요일에 출시될 예정입니다. 업데이트에는 위에 표시된 기능뿐만 아니라 설정 창에서 매개변수 입력 취소/확인 기능도 포함될 예정입니다. 또한 카탈로그가 영어로 번역되고, 확인된 문제 목록에서 코드가 개선 및 수정될 예정입니다.
 
Реter Konow #:
다음 버전은 다음 주 월요일 또는 화요일에 출시될 예정입니다. 업데이트에는 위에 표시된 기능뿐만 아니라 설정 창에서 매개변수 입력 취소/확인 기능도 포함될 예정입니다. 또한 카탈로그를 영어로 번역하고, 확인된 문제들을 정리한 목록에서 코드를 조정하고 수정할 예정입니다.
조만간 완료될 예정입니다.