;********************************************************************************************
(defun c:BitmapAuswahl_BitmapBrowser_OnInitialize (/)
  (p:dcl_Form_Center BitmapAuswahl_BitmapBrowser)
  (dcl_Control_SetMinValue BitmapAuswahl_BitmapBrowser_sliderBitmapBrowse 0)
  (dcl_Control_SetMaxValue BitmapAuswahl_BitmapBrowser_sliderBitmapBrowse (1- (length x:bitmapwahl_kv_pairs)))
  (dcl_Control_SetLargeChange BitmapAuswahl_BitmapBrowser_sliderBitmapBrowse 1)
  (dcl_Control_SetSmallChange BitmapAuswahl_BitmapBrowser_sliderBitmapBrowse 1)
  (if (not (eval (cons 'OR (mapcar 'caddr x:bitmapwahl_kv_pairs))))
    (dcl_Control_SetEnabled BitmapAuswahl_BitmapBrowser_btnHelp 'nil)
    (dcl_Control_SetEnabled BitmapAuswahl_BitmapBrowser_btnHelp 'T)
    )
  (p:BitmapAuswahl_BitmapBrowser_update)
)
;********************************************************************************************
(defun p:BitmapAuswahl_BitmapBrowser_update (/ p-3 p-2 p-1 p0 p+1 p+2 p+3 s-3 s-2 s-1 s0 s+1 s+2 s+3 )
  (dcl_Control_SetValue BitmapAuswahl_BitmapBrowser_sliderBitmapBrowse x:bitmapwahl_selected)
  (setq p-3 (car (nth (p:rem+ (- x:bitmapwahl_selected 3) (length x:bitmapwahl_kv_pairs)) x:bitmapwahl_kv_pairs))
	p-2 (car (nth (p:rem+ (- x:bitmapwahl_selected 2) (length x:bitmapwahl_kv_pairs)) x:bitmapwahl_kv_pairs))
	p-1 (car (nth (p:rem+ (- x:bitmapwahl_selected 1) (length x:bitmapwahl_kv_pairs)) x:bitmapwahl_kv_pairs))
	p0  (car (nth (p:rem+ (+ x:bitmapwahl_selected 0) (length x:bitmapwahl_kv_pairs)) x:bitmapwahl_kv_pairs))
	p+1 (car (nth (p:rem+ (+ x:bitmapwahl_selected 1) (length x:bitmapwahl_kv_pairs)) x:bitmapwahl_kv_pairs))
	p+2 (car (nth (p:rem+ (+ x:bitmapwahl_selected 2) (length x:bitmapwahl_kv_pairs)) x:bitmapwahl_kv_pairs))
	p+3 (car (nth (p:rem+ (+ x:bitmapwahl_selected 3) (length x:bitmapwahl_kv_pairs)) x:bitmapwahl_kv_pairs)))
  (setq s-3 (cadddr (nth (p:rem+ (- x:bitmapwahl_selected 3) (length x:bitmapwahl_kv_pairs)) x:bitmapwahl_kv_pairs))
	s-2 (cadddr (nth (p:rem+ (- x:bitmapwahl_selected 2) (length x:bitmapwahl_kv_pairs)) x:bitmapwahl_kv_pairs))
	s-1 (cadddr (nth (p:rem+ (- x:bitmapwahl_selected 1) (length x:bitmapwahl_kv_pairs)) x:bitmapwahl_kv_pairs))
	s0  (cadddr (nth (p:rem+ (+ x:bitmapwahl_selected 0) (length x:bitmapwahl_kv_pairs)) x:bitmapwahl_kv_pairs))
	s+1 (cadddr (nth (p:rem+ (+ x:bitmapwahl_selected 1) (length x:bitmapwahl_kv_pairs)) x:bitmapwahl_kv_pairs))
	s+2 (cadddr (nth (p:rem+ (+ x:bitmapwahl_selected 2) (length x:bitmapwahl_kv_pairs)) x:bitmapwahl_kv_pairs))
	s+3 (cadddr (nth (p:rem+ (+ x:bitmapwahl_selected 3) (length x:bitmapwahl_kv_pairs)) x:bitmapwahl_kv_pairs)))
  (dcl_PictureBox_LoadPictureFile BitmapAuswahl_BitmapBrowser_imgMainImage p0 'T)
  (cond (s0
	 (dcl_Control_SetToolTipTitle BitmapAuswahl_BitmapBrowser_imgMainImage (car s0))
	 (dcl_Control_SetToolTipMainText BitmapAuswahl_BitmapBrowser_imgMainImage (cadr s0)))
	('T
	 (dcl_Control_SetToolTipTitle BitmapAuswahl_BitmapBrowser_imgMainImage "")
	 (dcl_Control_SetToolTipMainText BitmapAuswahl_BitmapBrowser_imgMainImage "")
	 ))
;;;  (dcl_PictureBox_LoadPictureFile BitmapAuswahl_BitmapBrowser_img-3 p-3 'T)
;;;  (cond (s-3
;;;	 (dcl_Control_SetToolTipTitle BitmapAuswahl_BitmapBrowser_img-3 (car s-3))
;;;	 (dcl_Control_SetToolTipMainText BitmapAuswahl_BitmapBrowser_img-3 (cadr s-3)))
;;;	('T
;;;	 (dcl_Control_SetToolTipTitle BitmapAuswahl_BitmapBrowser_img-3 "")
;;;	 (dcl_Control_SetToolTipMainText BitmapAuswahl_BitmapBrowser_img-3 "")
;;;	 ))
  (dcl_PictureBox_LoadPictureFile BitmapAuswahl_BitmapBrowser_img-2 p-2 'T)
  (cond (s-2
	 (dcl_Control_SetToolTipTitle BitmapAuswahl_BitmapBrowser_img-2 (car s-2))
	 (dcl_Control_SetToolTipMainText BitmapAuswahl_BitmapBrowser_img-2 (cadr s-2)))
	('T
	 (dcl_Control_SetToolTipTitle BitmapAuswahl_BitmapBrowser_img-2 "")
	 (dcl_Control_SetToolTipMainText BitmapAuswahl_BitmapBrowser_img-2 "")
	 ))
  (dcl_PictureBox_LoadPictureFile BitmapAuswahl_BitmapBrowser_img-1 p-1 'T)
  (cond (s-1
	 (dcl_Control_SetToolTipTitle BitmapAuswahl_BitmapBrowser_img-1 (car s-1))
	 (dcl_Control_SetToolTipMainText BitmapAuswahl_BitmapBrowser_img-1 (cadr s-1)))
	('T
	 (dcl_Control_SetToolTipTitle BitmapAuswahl_BitmapBrowser_img-1 "")
	 (dcl_Control_SetToolTipMainText BitmapAuswahl_BitmapBrowser_img-1 "")
	 ))
  (dcl_PictureBox_LoadPictureFile BitmapAuswahl_BitmapBrowser_imgSelected p0 'T)
  (cond (s0
	 (dcl_Control_SetToolTipTitle BitmapAuswahl_BitmapBrowser_imgSelected (car s0))
	 (dcl_Control_SetToolTipMainText BitmapAuswahl_BitmapBrowser_imgSelected (cadr s0)))
	('T
	 (dcl_Control_SetToolTipTitle BitmapAuswahl_BitmapBrowser_imgSelected "")
	 (dcl_Control_SetToolTipMainText BitmapAuswahl_BitmapBrowser_imgSelected "")
	 ))
  (dcl_PictureBox_LoadPictureFile BitmapAuswahl_BitmapBrowser_img+1 p+1 'T)
  (cond (s+1
	 (dcl_Control_SetToolTipTitle BitmapAuswahl_BitmapBrowser_img+1 (car s+1))
	 (dcl_Control_SetToolTipMainText BitmapAuswahl_BitmapBrowser_img+1 (cadr s+1)))
	('T
	 (dcl_Control_SetToolTipTitle BitmapAuswahl_BitmapBrowser_img+1 "")
	 (dcl_Control_SetToolTipMainText BitmapAuswahl_BitmapBrowser_img+1 "")
	 ))
  (dcl_PictureBox_LoadPictureFile BitmapAuswahl_BitmapBrowser_img+2 p+2 'T)
  (cond (s+2
	 (dcl_Control_SetToolTipTitle BitmapAuswahl_BitmapBrowser_img+2 (car s+2))
	 (dcl_Control_SetToolTipMainText BitmapAuswahl_BitmapBrowser_img+2 (cadr s+2)))
	('T
	 (dcl_Control_SetToolTipTitle BitmapAuswahl_BitmapBrowser_img+2 "")
	 (dcl_Control_SetToolTipMainText BitmapAuswahl_BitmapBrowser_img+2 "")
	 ))
;;;  (dcl_PictureBox_LoadPictureFile BitmapAuswahl_BitmapBrowser_img+3 p+3 'T)
;;;  (cond (s+3
;;;	 (dcl_Control_SetToolTipTitle BitmapAuswahl_BitmapBrowser_img+3 (car s+3))
;;;	 (dcl_Control_SetToolTipMainText BitmapAuswahl_BitmapBrowser_img+3 (cadr s+3)))
;;;	('T
;;;	 (dcl_Control_SetToolTipTitle BitmapAuswahl_BitmapBrowser_img+3 "")
;;;	 (dcl_Control_SetToolTipMainText BitmapAuswahl_BitmapBrowser_img+3 "")
;;;	 ))
  )
;********************************************************************************************
(defun c:BitmapAuswahl_BitmapBrowser_sliderBitmapBrowse_OnScroll (intValue /)
  (setq x:bitmapwahl_selected intValue)
  (p:BitmapAuswahl_BitmapBrowser_update)
)
;********************************************************************************************
(defun c:BitmapAuswahl_BitmapBrowser_btnBrowseRight_OnClicked (/)
  (c:BitmapAuswahl_BitmapBrowser_img+1_OnClicked)
)
;********************************************************************************************
(defun c:BitmapAuswahl_BitmapBrowser_img+3_OnClicked (/)
  (setq x:bitmapwahl_selected (p:rem+ (+ x:bitmapwahl_selected 3) (length x:bitmapwahl_kv_pairs)))
  (p:BitmapAuswahl_BitmapBrowser_update)
  )
(defun c:BitmapAuswahl_BitmapBrowser_img+2_OnClicked (/)
  (setq x:bitmapwahl_selected (p:rem+ (+ x:bitmapwahl_selected 2) (length x:bitmapwahl_kv_pairs)))
  (p:BitmapAuswahl_BitmapBrowser_update)
  )
(defun c:BitmapAuswahl_BitmapBrowser_img+1_OnClicked (/)
  (setq x:bitmapwahl_selected (p:rem+ (+ x:bitmapwahl_selected 1) (length x:bitmapwahl_kv_pairs)))
  (p:BitmapAuswahl_BitmapBrowser_update)
  )
;********************************************************************************************
(defun c:BitmapAuswahl_BitmapBrowser_imgSelected_OnClicked (/)
;;;  (p:BitmapAuswahl_BitmapBrowser_update)
  (1+ 1)
  )
(defun c:BitmapAuswahl_BitmapBrowser_imgSelected_OnDblClicked (/)
;;;  (p:BitmapAuswahl_BitmapBrowser_update)
  (c:BitmapAuswahl_BitmapBrowser_btnOK_OnClicked)
)
;********************************************************************************************
(defun c:BitmapAuswahl_BitmapBrowser_img-1_OnClicked (/)
  (setq x:bitmapwahl_selected (p:rem+ (- x:bitmapwahl_selected 1) (length x:bitmapwahl_kv_pairs)))
  (p:BitmapAuswahl_BitmapBrowser_update)
  )
(defun c:BitmapAuswahl_BitmapBrowser_img-2_OnClicked (/)
  (setq x:bitmapwahl_selected (p:rem+ (- x:bitmapwahl_selected 2) (length x:bitmapwahl_kv_pairs)))
  (p:BitmapAuswahl_BitmapBrowser_update)
  )
(defun c:BitmapAuswahl_BitmapBrowser_img-3_OnClicked (/)
  (setq x:bitmapwahl_selected (p:rem+ (- x:bitmapwahl_selected 3) (length x:bitmapwahl_kv_pairs)))
  (p:BitmapAuswahl_BitmapBrowser_update)
  )
;********************************************************************************************
(defun c:BitmapAuswahl_BitmapBrowser_imgMainImage_OnDblClicked (/)
;;;  (p:BitmapAuswahl_BitmapBrowser_update)
  (c:BitmapAuswahl_BitmapBrowser_btnOK_OnClicked)
)
;********************************************************************************************
(defun c:BitmapAuswahl_BitmapBrowser_btnBrowseLeft_OnClicked (/)
  (c:BitmapAuswahl_BitmapBrowser_img-1_OnClicked)
)
;********************************************************************************************
(defun c:BitmapAuswahl_BitmapBrowser_btnOK_OnClicked (/)
  (dcl_Form_Close BitmapAuswahl_BitmapBrowser 1)
)
;********************************************************************************************
(defun c:BitmapAuswahl_BitmapBrowser_btnCancel_OnClicked (/)
  (dcl_Form_Close BitmapAuswahl_BitmapBrowser 0)
)
;********************************************************************************************
(defun c:BitmapAuswahl_BitmapBrowser_btnHelp_OnClicked (/)
  (c:BitmapAuswahl_BitmapBrowser_OnHelp)
)
;********************************************************************************************
(defun c:BitmapAuswahl_BitmapBrowser_OnHelp (/)
  (if (caddr (nth x:bitmapwahl_selected x:bitmapwahl_kv_pairs))
    (p:zei (caddr (nth x:bitmapwahl_selected x:bitmapwahl_kv_pairs))))
)
;********************************************************************************************
(defun p:BitmapWahlDialog (kv-paare / Result Y)
  (setq x:bitmapwahl_kv_pairs (list)
	x:bitmapwahl_selected 0)
  (cond ((and (> (length kv-paare) 1)
	      x:opendcl_ist_aktiviert
	      (p:dcl_Project_Load "BitmapAuswahl")
	      )
	 
	 (foreach x kv-paare
	   (if (setq y (findfile (car x)))
	     (setq x:bitmapwahl_kv_pairs (cons (cons y (cdr x))
					       x:bitmapwahl_kv_pairs)))
	   )
	 (if (setq x:bitmapwahl_kv_pairs (reverse x:bitmapwahl_kv_pairs))
	   (setq Result (dcl_Form_Show BitmapAuswahl_BitmapBrowser))
	   )
	 (cond  ((= Result 1)
		 (setq Result (cadr(nth x:bitmapwahl_selected x:bitmapwahl_kv_pairs)))
		 )
		('T
		 (setq Result 'nil)
		 ))
	 )
	((equal (length kv-paare) 1)
	 (setq Result (cadr(car kv-paare)))
	 )
	('T
	 (setq Result 'nil)
	 ))
  (setq x:bitmapwahl_kv_pairs 'nil
	x:bitmapwahl_selected 'nil)
  Result
)
;********************************************************************************************
