亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? terminal_interface-curses-menus.adb

?? ncurses-5.4 需要的就來下把 一定會有用的哦
?? ADB
?? 第 1 頁 / 共 3 頁
字號:
--------------------------------------------------------------------------------                                                                          ----                           GNAT ncurses Binding                           ----                                                                          ----                      Terminal_Interface.Curses.Menus                     ----                                                                          ----                                 B O D Y                                  ----                                                                          ---------------------------------------------------------------------------------- Copyright (c) 1998 Free Software Foundation, Inc.                        ----                                                                          ---- Permission is hereby granted, free of charge, to any person obtaining a  ---- copy of this software and associated documentation files (the            ---- "Software"), to deal in the Software without restriction, including      ---- without limitation the rights to use, copy, modify, merge, publish,      ---- distribute, distribute with modifications, sublicense, and/or sell       ---- copies of the Software, and to permit persons to whom the Software is    ---- furnished to do so, subject to the following conditions:                 ----                                                                          ---- The above copyright notice and this permission notice shall be included  ---- in all copies or substantial portions of the Software.                   ----                                                                          ---- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  ---- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               ---- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   ---- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   ---- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    ---- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    ---- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               ----                                                                          ---- Except as contained in this notice, the name(s) of the above copyright   ---- holders shall not be used in advertising or otherwise to promote the     ---- sale, use or other dealings in this Software without prior written       ---- authorization.                                                           ----------------------------------------------------------------------------------  Author:  Juergen Pfeifer, 1996--  Version Control:--  $Revision: 1.22 $--  Binding Version 01.00------------------------------------------------------------------------------with Ada.Unchecked_Deallocation;with Terminal_Interface.Curses.Aux; use Terminal_Interface.Curses.Aux;with Interfaces.C; use Interfaces.C;with Interfaces.C.Strings; use Interfaces.C.Strings;with Interfaces.C.Pointers;with Ada.Unchecked_Conversion;package body Terminal_Interface.Curses.Menus is   type C_Item_Array is array (Natural range <>) of aliased Item;   package I_Array is new     Interfaces.C.Pointers (Natural, Item, C_Item_Array, Null_Item);   use type System.Bit_Order;   subtype chars_ptr is Interfaces.C.Strings.chars_ptr;   function MOS_2_CInt is new     Ada.Unchecked_Conversion (Menu_Option_Set,                               C_Int);   function CInt_2_MOS is new     Ada.Unchecked_Conversion (C_Int,                               Menu_Option_Set);   function IOS_2_CInt is new     Ada.Unchecked_Conversion (Item_Option_Set,                               C_Int);   function CInt_2_IOS is new     Ada.Unchecked_Conversion (C_Int,                               Item_Option_Set);------------------------------------------------------------------------------   procedure Request_Name (Key  : in Menu_Request_Code;                           Name : out String)   is      function Request_Name (Key : C_Int) return chars_ptr;      pragma Import (C, Request_Name, "menu_request_name");   begin      Fill_String (Request_Name (C_Int (Key)), Name);   end Request_Name;   function Request_Name (Key : Menu_Request_Code) return String   is      function Request_Name (Key : C_Int) return chars_ptr;      pragma Import (C, Request_Name, "menu_request_name");   begin      return Fill_String (Request_Name (C_Int (Key)));   end Request_Name;   function Create (Name        : String;                    Description : String := "") return Item   is      type Char_Ptr is access all Interfaces.C.char;      function Newitem (Name, Desc : Char_Ptr) return Item;      pragma Import (C, Newitem, "new_item");      type Name_String is new char_array (0 .. Name'Length);      type Name_String_Ptr is access Name_String;      pragma Controlled (Name_String_Ptr);      type Desc_String is new char_array (0 .. Description'Length);      type Desc_String_Ptr is access Desc_String;      pragma Controlled (Desc_String_Ptr);      Name_Str : Name_String_Ptr := new Name_String;      Desc_Str : Desc_String_Ptr := new Desc_String;      Name_Len, Desc_Len : size_t;      Result : Item;   begin      To_C (Name, Name_Str.all, Name_Len);      To_C (Description, Desc_Str.all, Desc_Len);      Result := Newitem (Name_Str.all (Name_Str.all'First)'Access,                         Desc_Str.all (Desc_Str.all'First)'Access);      if Result = Null_Item then         raise Eti_System_Error;      end if;      return Result;   end Create;   procedure Delete (Itm : in out Item)   is      function Descname (Itm  : Item) return chars_ptr;      pragma Import (C, Descname, "item_description");      function Itemname (Itm  : Item) return chars_ptr;      pragma Import (C, Itemname, "item_name");      function Freeitem (Itm : Item) return C_Int;      pragma Import (C, Freeitem, "free_item");      Res : Eti_Error;      Ptr : chars_ptr;   begin      Ptr := Descname (Itm);      if Ptr /= Null_Ptr then         Interfaces.C.Strings.Free (Ptr);      end if;      Ptr := Itemname (Itm);      if Ptr /= Null_Ptr then         Interfaces.C.Strings.Free (Ptr);      end if;      Res := Freeitem (Itm);      if Res /= E_Ok then         Eti_Exception (Res);      end if;      Itm := Null_Item;   end Delete;-------------------------------------------------------------------------------   procedure Set_Value (Itm   : in Item;                        Value : in Boolean := True)   is      function Set_Item_Val (Itm : Item;                             Val : C_Int) return C_Int;      pragma Import (C, Set_Item_Val, "set_item_value");      Res : constant Eti_Error := Set_Item_Val (Itm, Boolean'Pos (Value));   begin      if  Res /= E_Ok then         Eti_Exception (Res);      end if;   end Set_Value;   function Value (Itm : Item) return Boolean   is      function Item_Val (Itm : Item) return C_Int;      pragma Import (C, Item_Val, "item_value");   begin      if Item_Val (Itm) = Curses_False then         return False;      else         return True;      end if;   end Value;-------------------------------------------------------------------------------   function Visible (Itm : Item) return Boolean   is      function Item_Vis (Itm : Item) return C_Int;      pragma Import (C, Item_Vis, "item_visible");   begin      if Item_Vis (Itm) = Curses_False then         return False;      else         return True;      end if;   end Visible;-------------------------------------------------------------------------------   procedure Set_Options (Itm     : in Item;                          Options : in Item_Option_Set)   is      function Set_Item_Opts (Itm : Item;                              Opt : C_Int) return C_Int;      pragma Import (C, Set_Item_Opts, "set_item_opts");      Opt : C_Int := IOS_2_CInt (Options);      Res : Eti_Error;   begin      Res := Set_Item_Opts (Itm, Opt);      if Res /= E_Ok then         Eti_Exception (Res);      end if;   end Set_Options;   procedure Switch_Options (Itm     : in Item;                             Options : in Item_Option_Set;                             On      : Boolean := True)   is      function Item_Opts_On (Itm : Item;                             Opt : C_Int) return C_Int;      pragma Import (C, Item_Opts_On, "item_opts_on");      function Item_Opts_Off (Itm : Item;                              Opt : C_Int) return C_Int;      pragma Import (C, Item_Opts_Off, "item_opts_off");      Opt : C_Int := IOS_2_CInt (Options);      Err : Eti_Error;   begin      if On then         Err := Item_Opts_On (Itm, Opt);      else         Err := Item_Opts_Off (Itm, Opt);      end if;      if Err /= E_Ok then         Eti_Exception (Err);      end if;   end Switch_Options;   procedure Get_Options (Itm     : in  Item;                          Options : out Item_Option_Set)   is      function Item_Opts (Itm : Item) return C_Int;      pragma Import (C, Item_Opts, "item_opts");      Res : C_Int := Item_Opts (Itm);   begin      Options := CInt_2_IOS (Res);   end Get_Options;   function Get_Options (Itm : Item := Null_Item) return Item_Option_Set   is      Ios : Item_Option_Set;   begin      Get_Options (Itm, Ios);      return Ios;   end Get_Options;-------------------------------------------------------------------------------   procedure Name (Itm  : in Item;                   Name : out String)   is      function Itemname (Itm : Item) return chars_ptr;      pragma Import (C, Itemname, "item_name");   begin      Fill_String (Itemname (Itm), Name);   end Name;   function Name (Itm : in Item) return String   is      function Itemname (Itm : Item) return chars_ptr;      pragma Import (C, Itemname, "item_name");   begin      return Fill_String (Itemname (Itm));   end Name;   procedure Description (Itm         : in Item;                          Description : out String)   is      function Descname (Itm  : Item) return chars_ptr;      pragma Import (C, Descname, "item_description");   begin      Fill_String (Descname (Itm), Description);   end Description;   function Description (Itm : in Item) return String   is      function Descname (Itm  : Item) return chars_ptr;      pragma Import (C, Descname, "item_description");   begin      return Fill_String (Descname (Itm));   end Description;-------------------------------------------------------------------------------   procedure Set_Current (Men : in Menu;                          Itm : in Item)   is      function Set_Curr_Item (Men : Menu;                              Itm : Item) return C_Int;      pragma Import (C, Set_Curr_Item, "set_current_item");      Res : constant Eti_Error := Set_Curr_Item (Men, Itm);   begin      if Res /= E_Ok then         Eti_Exception (Res);      end if;   end Set_Current;   function Current (Men : Menu) return Item   is      function Curr_Item (Men : Menu) return Item;      pragma Import (C, Curr_Item, "current_item");      Res : constant Item := Curr_Item (Men);   begin      if Res = Null_Item then         raise Menu_Exception;      end if;      return Res;   end Current;   procedure Set_Top_Row (Men  : in Menu;                          Line : in Line_Position)   is      function Set_Toprow (Men  : Menu;                           Line : C_Int) return C_Int;      pragma Import (C, Set_Toprow, "set_top_row");      Res : constant Eti_Error := Set_Toprow (Men, C_Int (Line));   begin      if  Res /= E_Ok then         Eti_Exception (Res);      end if;   end Set_Top_Row;   function Top_Row (Men : Menu) return Line_Position   is      function Toprow (Men : Menu) return C_Int;      pragma Import (C, Toprow, "top_row");      Res : constant C_Int := Toprow (Men);   begin      if Res = Curses_Err then         raise Menu_Exception;      end if;      return Line_Position (Res);   end Top_Row;   function Get_Index (Itm : Item) return Positive   is      function Get_Itemindex (Itm : Item) return C_Int;      pragma Import (C, Get_Itemindex, "item_index");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区免费在线观看视频 | 中文字幕精品一区二区精品绿巨人| 成人av资源站| 日韩中文字幕区一区有砖一区 | 国产精品女同互慰在线看| 在线免费观看不卡av| 理论片日本一区| 亚洲一区在线视频观看| 国产精品女人毛片| 欧美www视频| 欧美日韩不卡一区| 日本精品视频一区二区| 成人三级伦理片| 精品影院一区二区久久久| 亚瑟在线精品视频| 尤物视频一区二区| 亚洲欧美在线视频观看| 国产欧美日韩亚州综合| 欧美大胆一级视频| 欧美一级高清片在线观看| 欧美在线制服丝袜| 91蜜桃免费观看视频| 北条麻妃国产九九精品视频| 国产a级毛片一区| 国产精品资源站在线| 久久99国产精品久久99| 日韩av一二三| 奇米影视在线99精品| 天堂成人免费av电影一区| 亚洲综合图片区| 伊人一区二区三区| 亚洲免费观看高清| 亚洲六月丁香色婷婷综合久久 | 久久精品综合网| 日韩精品一区二区三区视频播放 | 成人av在线资源网| 国产成人av电影在线播放| 久久成人久久爱| 久久精品国产亚洲aⅴ| 日本美女一区二区三区视频| 午夜精品成人在线视频| 视频在线在亚洲| 美腿丝袜亚洲色图| 韩国三级在线一区| 国产福利91精品| 99精品桃花视频在线观看| 91免费国产在线观看| 欧美色综合天天久久综合精品| 欧美性猛交xxxxxx富婆| 欧美高清精品3d| 日韩美女一区二区三区四区| 欧美精品一区二区精品网| 国产欧美一区视频| 国产精品久久久久桃色tv| 亚洲欧美一区二区久久| 亚洲va韩国va欧美va精品| 免费观看成人av| 丁香婷婷综合五月| 色视频一区二区| 欧美高清hd18日本| 久久奇米777| 亚洲免费av在线| 欧美aaaaa成人免费观看视频| 91久久精品国产91性色tv| 欧美日韩国产影片| 欧美tk—视频vk| 中文字幕在线观看一区| 性做久久久久久免费观看| 久久不见久久见免费视频1| 国产不卡一区视频| 欧美在线一区二区| 精品成人一区二区三区| 亚洲精品免费在线播放| 日本中文一区二区三区| 国产精品亚洲一区二区三区在线| 91精品办公室少妇高潮对白| 91精品国产日韩91久久久久久| 久久久国产精华| 亚洲二区在线视频| 国产精品99久久久久久宅男| 一本久久a久久免费精品不卡| 日韩三级视频中文字幕| 亚洲嫩草精品久久| 国产一区久久久| 欧美中文一区二区三区| 国产欧美精品一区| 五月天亚洲精品| av电影一区二区| 欧美一二三四区在线| 亚洲免费伊人电影| 国产成人夜色高潮福利影视| 在线免费观看日本一区| 欧美经典一区二区三区| 日本vs亚洲vs韩国一区三区二区| 97久久超碰国产精品| 精品国产伦一区二区三区免费| 亚洲一区二区三区四区五区黄 | 久久精品国产成人一区二区三区| aaa欧美日韩| www成人在线观看| 日本不卡中文字幕| 日本乱码高清不卡字幕| 国产精品女上位| 国产一区三区三区| 欧美一区二区三区免费观看视频| 亚洲人成小说网站色在线 | 久久99国产精品免费| 欧美日韩久久不卡| 尤物在线观看一区| 91欧美一区二区| 国产精品午夜免费| 国产在线播精品第三| 日韩欧美一级二级| 日韩一区欧美二区| 欧美日韩视频第一区| 一级精品视频在线观看宜春院 | 精品在线一区二区三区| 在线播放中文一区| 香蕉成人伊视频在线观看| 91啦中文在线观看| 亚洲人成小说网站色在线| 99热精品一区二区| 国产精品久久三区| 国产成人在线视频网站| 国产日韩精品视频一区| 国产老肥熟一区二区三区| 精品动漫一区二区三区在线观看| 免费久久精品视频| 欧美刺激午夜性久久久久久久| 日本aⅴ免费视频一区二区三区| 欧美久久久久久久久中文字幕| 亚洲国产综合91精品麻豆| 91久久精品午夜一区二区| 亚洲影院在线观看| 欧美性高清videossexo| 日韩国产欧美一区二区三区| 日韩三级视频在线看| 国精产品一区一区三区mba桃花| 日韩欧美国产综合在线一区二区三区| 免费成人在线影院| 精品国产乱码久久久久久蜜臀| 精久久久久久久久久久| 国产欧美日韩亚州综合| 99精品国产99久久久久久白柏| 亚洲欧美一区二区三区极速播放 | 欧美视频自拍偷拍| 亚洲v精品v日韩v欧美v专区| 日韩丝袜美女视频| 精品系列免费在线观看| 欧美高清一级片在线观看| 99精品视频一区二区三区| 亚洲一区二区三区四区在线免费观看 | 久久夜色精品国产噜噜av| 国产精品伊人色| 最新国产の精品合集bt伙计| 欧美亚一区二区| 另类综合日韩欧美亚洲| 日本一区二区三区dvd视频在线| 色一区在线观看| 日本欧美在线观看| 国产日韩在线不卡| 91国产免费观看| 免费高清在线一区| 国产精品久久久久久久久久免费看 | 91精品国产美女浴室洗澡无遮挡| 美国三级日本三级久久99| 国产三级精品视频| 在线精品观看国产| 国内精品久久久久影院薰衣草 | 欧美人伦禁忌dvd放荡欲情| 极品少妇xxxx精品少妇| 国产精品福利一区二区| 欧美日韩大陆一区二区| 国产精品亚洲专一区二区三区| 国产不卡在线视频| av电影一区二区| 亚洲18女电影在线观看| 国产午夜精品久久| 欧美日韩成人一区| 成人黄色小视频在线观看| 亚洲电影一级黄| 国产日韩欧美综合一区| 欧美日韩中文一区| 国产成人精品网址| 亚洲成人资源在线| 亚洲国产成人午夜在线一区| 欧美理论片在线| 成人丝袜18视频在线观看| 日韩av中文字幕一区二区三区 | 综合电影一区二区三区 | 亚洲欧美综合在线精品| 日韩精品一区二区在线| 欧美伊人久久久久久久久影院 | 久久精品噜噜噜成人88aⅴ| 国产精品美日韩| 欧美不卡123| 欧美精品三级在线观看| 色综合久久综合网97色综合 | 亚洲精品第一国产综合野| 久久久久久久久岛国免费|