www.pudn.com > tinywidget.rar > picturetest.c


#include
#include "../include/tnWidgets.h"
#include 
           struct dirent **namelist;
           int n;
	   char currpath[500] = "";
	   char path[500]="";	
	   TN_WIDGET *picture,*window2=NULL,*main_widget;

int getdir(char *dir)
{ 
           n = scandir(dir, &namelist, 0, alphasort);
           if (n < 0)
		return -1;
           else
		return 1;
}

void freedir(void)
{
	int i;
	for(i=0; i < n; i++)
		free(namelist[i]);
	free(namelist);
	return;
}

void freelist(char **str,int m)
{
	int i;
	for(i=0;id_name);
		tnSetScrollRange(scrollbar,0,n<15?0:n-15);	
		tnSetScrollPosition(scrollbar,0);  
	}
	freelist(str,m);
	
	return;
}

void scrollfunc(TN_WIDGET *scrollbar,DATA_POINTER dptr)
{
	int position = tnGetThumbPosition (scrollbar);
	TN_WIDGET *lbox = (TN_WIDGET *)dptr;
	int currtop = tnGetListTop(lbox);
	if(position < currtop)
		tnListItemsLineDown(lbox,currtop-position);
	if(position > currtop)
		tnListItemsLineUp(lbox,position-currtop);
	return;
}
			






int main(int argc,char **argv)
{

	
	TN_WIDGET *window1,*listbox,*scrollbar;
	int i;
	
	main_widget=tnAppInitialize(argc,argv);
	window1=tnCreateWidget(TN_WINDOW,main_widget,0,0,TN_HEIGHT,400,TN_WIDTH,480,TN_CAPTION,"Listbox demo",TN_END);
	listbox=tnCreateWidget(TN_LISTBOX,window1,50,50,TN_RESIZE,GR_FALSE,TN_HEIGHT,200,TN_WIDTH,80,TN_END);
	scrollbar=tnCreateWidget(TN_SCROLLBAR,window1,130,50,TN_HEIGHT,200,TN_WIDTH,20,TN_ORIENTATION,TN_VERTICAL,TN_END);
	getdir("/");
	for(i=0;id_name);
	tnSetScrollRange(scrollbar,0,n<15?0:n-15);

	tnRegisterCallBack(scrollbar,CLICKED,scrollfunc,listbox);
	tnRegisterCallBack(listbox,CLICKED,listfunc,scrollbar);
	tnMainLoop();
	return 0;
}