/* Dialog functions */
static int vlclua_dialog_create( lua_State *L );
static int vlclua_dialog_delete( lua_State *L );
+static int vlclua_dialog_show( lua_State *L );
+static int vlclua_dialog_hide( lua_State *L );
static int vlclua_dialog_flush( lua_State *L );
static void lua_SetDialogUpdate( lua_State *L, int flag );
static int lua_GetDialogUpdate( lua_State *L );
extension_widget_t *p_widget );
static const luaL_Reg vlclua_dialog_reg[] = {
+ { "show", vlclua_dialog_show },
+ { "hide", vlclua_dialog_hide },
{ "close", vlclua_dialog_delete },
{ "flush", vlclua_dialog_flush },
return 1;
}
+/** Show the dialog */
+static int vlclua_dialog_show( lua_State *L )
+{
+ extension_dialog_t **pp_dlg =
+ (extension_dialog_t**) luaL_checkudata( L, 1, "dialog" );
+ if( !pp_dlg || !*pp_dlg )
+ return luaL_error( L, "Can't get pointer to dialog" );
+ extension_dialog_t *p_dlg = *pp_dlg;
+
+ p_dlg->b_hide = false;
+ lua_SetDialogUpdate( L, 1 );
+
+ return 1;
+}
+
+/** Hide the dialog */
+static int vlclua_dialog_hide( lua_State *L )
+{
+ extension_dialog_t **pp_dlg =
+ (extension_dialog_t**) luaL_checkudata( L, 1, "dialog" );
+ if( !pp_dlg || !*pp_dlg )
+ return luaL_error( L, "Can't get pointer to dialog" );
+ extension_dialog_t *p_dlg = *pp_dlg;
+
+ p_dlg->b_hide = true;
+ lua_SetDialogUpdate( L, 1 );
+
+ return 1;
+}
+
/** Flush the dialog */
static int vlclua_dialog_flush( lua_State *L )
case EXTENSION_WIDGET_LIST:
case EXTENSION_WIDGET_IMAGE:
default:
- vlc_mutex_unlock( &p_widget->p_dialog->lock );
return luaL_error( L, "method set_text not valid for this widget" );
}