폭스 툴킷
Fox toolkit| 개발자 | FOX 커뮤니티 Jeroen van der Zijp |
|---|---|
| 안정된 릴리스 | 1.6.57 / 2018년4월 ; 전( |
| 프리뷰 릴리즈 | 1.7.79 / 2022년3월 ; 전([1] |
| 기입처 | C++ |
| 운영 체제 | 크로스 플랫폼 |
| 유형 | 개발 라이브러리 |
| 면허증. | GNU Lesser General Public License(라이선스 부록 포함) 정적 링크 fox-toolkit.org/license.html |
| 웹 사이트 | fox-toolkit |
FOX 툴킷은 오픈 소스 크로스 플랫폼 위젯 툴킷으로 그래픽 사용자 인터페이스(GUI)를 구축하기 위한 기본 요소의 라이브러리입니다.FOX는 X의 Free Objects의 약자입니다.
Microsoft Windows 자체뿐만 아니라 X Window 시스템(유닉스 및 유닉스 유사 운영 [2]체제에서 사용됨)에서도 사용할 수 있는 유선 연결된 Windows 95 스타일 테마를 갖추고 있습니다.
FOX 툴킷은 GNU Lesser General Public License에 따라 출시되었습니다.개발은 1997년 Jeroen van der Zijp가 CFDRC에 소속되어 있을 때 시작되었습니다.이후 Jeroen van der Zijp는 사용자 커뮤니티의 도움을 받아 핵심 라이브러리와 테스트 애플리케이션을 유지하고 있습니다.
FOX 툴킷은 C++로 작성되어 있으며 Python, Ruby 및 Eiffel에서 언어 바인딩을 사용할 수 있습니다.FOX 소스 코드 배포는 다양한 (상용 및 무료) C++ 컴파일러를 사용한 구축을 지원합니다.
크로스 플랫폼 호환성
FOX는 다른 크로스 플랫폼 툴킷과 다음과 같은 점에서 차별화됩니다.
- TK는 크로스 플랫폼 툴킷이지만 FOX가 바람직하다고 생각하는 위젯을 모두 갖추고 있는 것은 아닙니다.
- 버전 4.5까지의 QT에는 상용 라이선스가 필요한 라이센스 모델이 있었지만 FOX에서는 필요하지 않은 경우도 있었습니다.
- wxWidgets는 지원되는 각 플랫폼에서 네이티브 위젯 사용을 촉진합니다.
- FLTK는 빠른 애플리케이션 개발을 지원하는 설치 공간이 적은 고속 라이브러리이며, 사용하는 코드는 적지만 고급 위젯은 부족합니다.
이러한 툴킷은 모두 기존 Mac OS 및/또는 MacOS 플랫폼에서 네이티브 프로그래밍을 지원하지만 FOX는 [citation needed]현재 지원하지 않습니다.
FOX는 네이티브 위젯을 사용한 원래 Java AWT 스타일의 접근 방식과는 달리 그래픽 사용자 인터페이스를 화면에 표시하기 위해 Java Swing 스타일의 접근법과 유사한 기술을 사용합니다.즉, 어플리케이션의 모양과 느낌은 플랫폼 전체에서 비슷합니다.이론적으로 FOX를 새로운 플랫폼으로 이식하는 것도 네이티브 위젯을 구현하는 것보다 쉬울 것입니다.
단점으로는 일반적으로 FOX 어플리케이션이 이러한 플랫폼의 네이티브 어플리케이션과 다르게 보이고 느껴진다는 것을 의미하며, 일부 사용자는 이를 혼동할 수 있습니다.또한 포괄적인 인쇄 지원이나 국제화된 입력 처리 등 특정 네이티브 플랫폼 기능은 FOX에서 사용하기 전에 크로스 플랫폼 방식으로 재실장해야 하기 때문에 즉시 사용할 수 없는 경우가 있습니다.Xfe File Manager와 같은 일부 응용 프로그램에서는 시스템의 테마 [3]색상과 더 잘 통합되도록 색 구성을 변경할 수 있습니다.Arch Linux에서는 FOX 제어판이라는 앱을 사용하여 시스템 전체에서 모든 FOX 애플리케이션의 색상 구성을 변경할 수 있습니다.메인 FOX Toolkit 패키지와 함께 제공됩니다.
메시징 시스템
FOX는 투명한 양방향 메시징 시스템을 제공합니다.각 위젯은 특정 대상에 메시지를 보냅니다.각 메시지는 위젯의 열거에 의해 제공되는 고유 ID와 종류를 식별하는 선택자에 의해 구성됩니다.이점은 각 위젯이 대상 위젯의 메서드를 투명하게 호출할 수 있다는 것입니다. 이 메서드는 존재하지 않더라도 마찬가지입니다.그 반대의 경우도, 개개의 메시지핸들러의 실장에서는, 송신자가 인식되고 있기 때문에, 타겟은 송신자에게 메세지를 디스패치 할 수 있습니다.이는 컴포넌트 지향 소프트웨어에서 특히 중요한 기능으로 컴포넌트는 다른 사람 또는 다른 조직에 의해 작성될 수 있습니다.
FOX 메시징 시스템은 GUI 업데이트 전략을 단순화합니다. 위젯 업데이트 중에 위젯이 타겟으로부터 업데이트를 요청할 수 있습니다.즉, 일반적으로 명령 메시지가 위젯을 명시적으로 업데이트할 필요가 없습니다.응용 프로그램이 M 위젯을 업데이트할 때마다 N개의 명령 메시지를 구현하는 경우 M*N 업데이트를 실행하고 최대 M*N 메시지를 구현해야 합니다.한편, 위젯이 업데이트를 요청하면 N개의 명령어 메시지와 최대 M개의 업데이트 메시지만 구현됩니다.이 전략에서는 GUI 업데이트와 데이터 변경을 분리하여 GUI를 기본 데이터 구조의 실시간 반영으로 만듭니다.
내부
의존 관계
후드는 다음을 [4]포함한 크로스 플랫폼 라이브러리에 따라 달라집니다.
안녕 세계
다음 예제에서는 FOX 응용 프로그램과 C++에 버튼이 있는 대화상자를 만듭니다.
#실패하다 "fx.h" 인트 주된(인트 argc, 차 *argv[]) { FXApp 어플("안녕하세요", '폭스 테스트'); 어플.초기화(argc, argv); FXMain 윈도 *주된=신규 FXMain 윈도(&어플, "안녕하세요", 특수한 순서, 특수한 순서, 장식_모두); 신규 FXButton(주된, "&안녕하세요, 월드!", 특수한 순서, &어플, FXApp::ID_QUIT); 어플.만들다(); 주된->표시하다(배치_스크린); 돌아가다 어플.달려.(); } Python 2.2 및 Ruby로 대화상자를 만들 수도 있습니다.
FXPy
#! /usr/bin/env python3 부터 FXPy.fox 수입품 * 수입품 시스템 방어하다 런미(): 앱. = FXApp("안녕하세요", "테스트") 앱..초기화(시스템.argv) 주된 = FXMain 윈도(앱., "안녕하세요", 없음., 없음., 장식_모두) 단추 = FXButton(주된, "&안녕하세요, 월드!", 없음., 앱., FXApp.ID_QUIT) 앱..만들다() 주된.표시하다(배치_스크린) 앱..달려.() 한다면 __name__ == "_메인__": 런미() FXRuby
요구하다 'param16' 포함하다 폭스 어플 = FXApp.신규("안녕하세요", '폭스 테스트') 주된 = FXMain 윈도.신규(어플, "안녕하세요", 제로, 제로, 장식_모두) FXButton.신규(주된, "&안녕하세요, 월드!", 제로, 어플, FXApp::ID_QUIT, 레이아웃_채움_X 버튼_툴바 프레임_라이즈되었다 프레임_두께) 어플.만들다() 주된.표시하다(배치_스크린) 어플.달려.() FOX 기반 소프트웨어
- CFD-View – ESI Group이 개발한 후처리
- Abaqus/CAE – Abaqus 유한 요소[5] 스위트의 사전 및 사후 프로세서
- bdStudio – SAIC가 개발한 복잡한 실시간 항공우주 시뮬레이션을 위한 정확하고 사용하기 쉬운 시각화 도구
- 인텔 모듈러 테스트 아키텍처(IMTA)
- PVRShaman – Imagination Technologies의 무료 셰이더 개발 스튜디오
- LinkCAD – 다양한 CAD 포맷을 위한 상용 포맷 변환 애플리케이션
- TMP Vision 및 SLIM – 복잡한 FEA 모델의 요구를 충족시키는 설계
- Kerkythea – 멀티모드 렌더링 시스템
- Acronis True Image 및 기타 Acronis 제품[6]
- 고글 음악 매니저– 음악 컬렉션 매니저 겸 플레이어
- xfe – X Window 시스템용 그래픽 파일 매니저
- TnFOX – FOX 라이브러리의 포크
- SMO(Simulation of Urban MObility) – GUI 에디터가 있는 트래픽 시뮬레이터
「 」를 참조해 주세요.
- FLTK – 경량 크로스 플랫폼 비네이티브 위젯 툴킷
- fpGUI – Visual Form Designer와 커스텀 도움말 문서 리더를 갖춘 크로스 플랫폼 GUI 툴킷
- GTK – GNOME 어플리케이션에서 사용하는 위젯 툴킷
- gtkmm – GTK에 대한 공식 C++ 인터페이스
- IUP – 네이티브 그래피컬 사용자 인터페이스를 구축하기 위한 멀티 플랫폼 툴킷
- 쥬스
- Qt – KDE에서 사용하는 위젯 툴킷
- TnFOX
- Ultimate++
- VCF
- 위젯 툴킷
- wxWidgets – 크로스 플랫폼 오픈 소스 C++ 위젯 라이브러리, 네이티브 위젯 툴킷 포장
- 위젯 도구 키트 목록
레퍼런스
- ^ "News". fox-toolkit.org. Retrieved 2022-06-01.
- ^ FOX Toolkit, X Window 시스템용 GUI 툴킷 by Leslie Polzer, 2003년 7월 27일, freshmeat.net
- ^ "XFE Homepage".
- ^ "Installation instructions". fox-toolkit.org. Retrieved 2021-08-04.
{{cite web}}: CS1 maint :url-status (링크) - ^ "Abaqus FEA / Version 6.7 Open Source Programs". Archived from the original on 2007-11-09. Retrieved 2007-12-09.
- ^ "Acronis licensing information". Retrieved 2007-12-08.